Internet Windows Android

Configurarea Sendmail. Instalarea și configurarea Sendmail în Ubuntu Instalarea și configurarea sendmail ubuntu

A apărut în 1983, dar este folosit activ până în zilele noastre. Caracteristicile cheie includ suport pentru multe dintre platformele care există astăzi, precum și faptul că sunt gratuite. Aplicația vine cu cod sursă deschisă. Aceasta înseamnă că toată lumea își poate adăuga propriile funcționalități sau poate modifica după bunul plac. În sistemul de operare Ubuntu, Sendmail, care este configurat prin linia de comandă Linux, a prins rădăcină datorită suportului bun și caracteristicilor bogate.

Procesorul de mesaje - Sendmail - a devenit larg răspândit în zona de afaceri.

Astăzi, „procesorul de mesaje” Sendmail Sestrion, care a fost creat ținând cont de nevoile marilor companii, este destul de comun. Caracteristicile sale distinctive sunt productivitatea ridicată și buna integrare cu toate procesele de afaceri. Sestrion oferă, alături de noile tehnologii, aplicații vechi care au prins bine rădăcini. De asemenea, aplicația este suficient de prietenoasă pentru a se potrivi utilizatorilor casnici.

Instalarea programului

Trebuie să instalați Sendmail pe baza unui server local sau a unui server web. În al doilea caz, agentul de corespondență va fi mai funcțional. Pentru a obține toate componentele unui server web, aveți nevoie de un teanc de componente LAMP. Poate fi găsit în depozit.

IMPORTANT. Înainte de a instala software nou, nu uitați să actualizați listele de pachete din depozitul local folosind comanda

„$ Sudo apt-get update”

Instalarea Sendmail începe cu comanda „sudo apt install sendmail”, care va descărca pachetele agentului de e-mail.

„Mcedit / etc / hosts”
„Sudo sendmailconfig”

După aceea, trebuie să reporniți serviciile programului în sine, precum și serverul web Apache:

„Sudo /etc/init.d/sendmail restart”
„Sudo /etc/init.d/apache2 restart”

Dacă este necesar, puteți instala utilitățile pentru lucrul cu mail:

„Sudo install mailutils”

Verificăm testarea performanței întregului sistem:

„Trimite-ți e-mailul< /dev/null»

unde „poșta ta” este adresa poștală curentă.

În cele din urmă, să verificăm fișierul jurnal. Acesta este fișierul serviciului de e-mail în care vor fi afișate erorile de instalare:

Coada -f /var/log/mail.log

Rămâne doar să mergi la căsuța de e-mail. Ar trebui să existe deja un mesaj de testare în el.

Deci, ați aflat mai multe despre programul Ubuntu Sendmail, care s-a dovedit a fi destul de ușor de configurat. Dacă aveți întrebări despre alte aspecte ale lucrului cu programe pentru Linux - căutați răspunsuri la acestea pe paginile site-ului nostru!

Cartea descrie în detaliu setările serviciilor de rețea care vă permit să creați un server cu configurația și funcționalitatea necesare pe baza sistemului de operare Linux. Puteți configura orice tip de server: de la un server de rețea locală la un server de Internet și un server de acces la distanță. Administrarea Linux este descrisă în detaliu.

Prezentarea se bazează pe distribuțiile Red Hat și Mandrake. O mulțime de informații unice: rularea jocurilor Windows sub Linux și crearea unui server Linux pentru o sală de jocuri, configurarea Dr. Web și AVP pentru Linux, software de contabilitate a traficului MRTG, sistem de protecție și detecție LIDS și multe altele. O atenție deosebită este acordată securității serverelor Linux. Sistemul de operare Linux în sine este descris suficient de detaliat și este furnizată o referință la comenzile sale. După ce ați citit cartea, veți deveni posesorii cunoștințelor despre configurarea și compilarea nucleului, crearea propriilor pachete rpm, shell-ul bash și utilizarea matricelor RAID. Veți cunoaște lumea interioară a Linux. Cartea este potrivită atât pentru administratorii profesioniști, cât și pentru cei începători, deoarece prezentarea materialului începe cu instalarea sistemului de operare Linux, iar primul capitol descrie tehnologiile și protocoalele de bază ale rețelei (Cursul pentru tineri administratori).

Toate listele din această carte au fost testate în practică și pot fi găsite pe CD-ul atașat. În plus, conține o mulțime de informații de referință (HOWTO, RFC), precum și articole despre Linux. Se află un set bogat de utilități și software auxiliare pentru server (Apache, MySQL, MRTG etc.).

Carte:

Dacă utilizați o distribuție compatibilă RedHat, atunci va trebui să instalați pachetele corespunzătoare. Folosesc sendmaiI-8.11.0 și imap-4.7c2. Cea mai recentă versiune de sendmail poate fi descărcată de pe Internet la http://www.sendmail.org.

Înainte de a începe configurarea sendmail, trebuie să configurați corect DNS. Configurarea serverului DNS a fost discutată în detaliu în cap. 10. Dacă configurați doar un server de e-mail, nu trebuie să configurați un server DNS pe același computer. Va fi suficient să specificați serverele DNS ale rețelei dumneavoastră în fișierul / etc /resolv.conf pentru ca sistemul de rezoluție a numelor să funcționeze corect. Totuși, sendmail poate fi configurat să funcționeze fără a utiliza DNS, dar nu voi lua în considerare această opțiune.

Pentru a începe configurarea de bază a sendmail, rulați utilitarul netconf (vezi Figura 13.1). Funcționează atât de la X-Window, cât și de la consolă. Utilitarul netconf este disponibil în RedHat Linux, Mandrake, ASPLinux și alte distribuții, dar cu siguranță nu este în KSI Linux. Desigur, trebuie să fii autentificat ca root. Dacă nu aveți netconf, veți avea marea plăcere de a edita manual /etc/sendmail.cf. Acest fișier este locul în care sunt stocate toate setările sendmail.


Smochin. 13.1. Configurator Netconf

Selectați Sistem de livrare e-mail din meniu, apoi Configurare de bază sendmail. În câmpul Prezentați-vă sistemul ca, introduceți doar numele dvs. de domeniu. Apoi asigurați-vă că bifați caseta „Accept email for your_domain.com” (consultați Figura 13.2). Dacă nu, serverul dumneavoastră va putea redirecționa mesajele către un alt server. În același timp, traficul în exces va trece prin serverul dvs., de care nu aveți nevoie deloc. A existat odată chiar și acest tip de atac de respingere prin e-mail. Principiul său este următorul: se trimite o scrisoare de la un utilizator inexistent [email protected] alt utilizator inexistent [email protected] Scrisoarea este trimisă prin computerul hostcom, ceea ce permite redirecționarea mesajului (modul „Accept email for domain.com” nu este activat). Serverul de mail al domeniului B.com trimite un mesaj la adresa [email protected] că utilizatorul [email protected] nu exista. La rândul său, mailer-ul domeniului A.com informează că utilizatorul [email protected] de asemenea, nu există și trimite un mesaj la adresa [email protected] Are loc recursiunea indirectă. Acum imaginați-vă că un astfel de mesaj nu este unul, ci, să zicem, 100 și volumul fiecăruia este de cel puțin 1 MB! Ca urmare, unul dintre serverele din lanțul domain1.com - host.com - domain2.com ar trebui să se „prabunească”.


Orez. 13.2. Configurație de bază sendmail

Îmi pare rău, sunt puțin în afara subiectului, să continuăm configurarea sendmail. Setați protocolul de trimitere a mesajelor la smtp (Protocol gateway de e-mail).

Aceste informații sunt deja suficiente pentru a vă pune în funcțiune sendmail. Puteți seta opțiuni suplimentare pentru programul sendmail folosind netconf.

Acum faceți astfel încât sendmail să accepte numai e-mailuri de la adrese autorizate. Pentru a face acest lucru, nici măcar nu trebuie să configurați sendmail în sine - trebuie doar să modificați fișierele /etc/hosts.allow și /etc/hosts.deny. Prima dintre ele conține o listă de gazde cărora li se permite accesul la această mașină, iar a doua conține o listă de gazde care sunt refuzate. Vă rugăm să rețineți: în ciuda numelui - „Permis” sau „interzis”, restricțiile care sunt stabilite de primul fișier sunt mult mai stricte. De exemplu, pentru a refuza accesul la toate gazdele, cu excepția computerelor din rețeaua dvs., adăugați linia 192.168.1 în fișierul /etc/hosts.allow.

Aici ne referim la faptul că rețeaua are o adresă de 192.168.1.0 și o mască de 255.255.255.0. Puteți citi mai multe despre formatul fișierelor hosts.allow și hosts.deny introducând comanda man hosts.allow.

Acum este rândul lui POP3. După instalarea pachetului imap, aveți aproape totul configurat, adică. Vreau să spun că este deja posibilă verificarea configurației. Reporniți demonul inetd sau xinetd, oricare dintre ele utilizați și introduceți următoarele:

telnet<имя_только_созданного_почтовика> 25

Ca răspuns, ar trebui să vedeți ceva de genul următor:

Încercând 192.168.1.1. ... ...
Conectat la 192.168.1.1
Caracterul de evadare este
220 de.dhsilabs.com ESMTP Sendmail 8.11.0 / 8.8.7 Duminica, 17 Iun
2001 10:54:22 +300

Asta înseamnă că sendmail funcționează, rămâne de văzut cât de bine o face. Pentru a face acest lucru, introduceți ceva de genul următor:

mail de la: [email protected]
220 2.1.0 [email protected]…. Expeditorul ok
rcpt la: [email protected]
220 2.1.5 [email protected]…. Destinatar ok

După aceea introduceți comanda de date, apoi textul mesajului, iar pentru a încheia introducerea, puneți un punct într-o linie goală. Sendmail vă va informa că mesajul a fost trimis (mai precis, acesta a fost plasat în coada de trimitere). Înregistrare [email protected]- numele utilizatorului căruia îi trimiteți e-mail. Utilizatorul trebuie să existe cu adevărat. Intrarea den.dhsilabs.com este numele expeditorului dvs. de e-mail.

Notă. Nume [email protected]și dhsilabs.com sunt date ca exemple. În schimb, trebuie să oferiți propriile valori.

Vă rugăm să rețineți că nu există gazdă my.host.com în natură, iar programul sendmail raportează că „Expeditorul este ok”. De aceea este mai bine să activați opțiunea Așteptați DNS în setările sendmail.

Acum trebuie să lansați un client de e-mail, de exemplu kmail, și să primiți e-mail. Utilizați următoarele setări de rețea în programul kmail: Rețea? Trimiterea e-mailului, setați SMTP, portul 25, numele serverului - numele e-mailului dvs., în acest exemplu este den.dhsilabs.com. Apoi adăugați un cont pentru POP3:

Nume de utilizator - den

Parolă - parola care este utilizată pentru a vă conecta la sistem.

Server - den.dhsilabs.com

Ca urmare, ar trebui să primiți mesajul pe care l-ați introdus după date. Cu toate acestea, pot apărea probleme în rezolvarea numelui. Pentru a le evita, trebuie să configurați corect DNS-ul sau să utilizați adresa sa IP în loc de numele serverului de e-mail. Când adăugați un utilizator nou, asigurați-vă că îi setați parola de conectare. Dacă nu faceți acest lucru, dar încercați să primiți e-mail fără a specifica o parolă, veți primi un mesaj „Authentication Failed”.

Configurarea de bază a sendmail este foarte ușoară folosind configuratorul, dar uneori configurația de bază nu este suficientă. Pentru o configurare mai precisă, trebuie să vă familiarizați cu fișierele de configurare ale programului sendmail.

Notă.În cele mai multe cazuri, veți fi mulțumit de setarea de bază până când spammerii vă vor lua sub „protectoratul” lor - atunci va trebui să citiți Ch. 23 privind metodele de protecție împotriva spamului. Cu toate acestea, una dintre legile lui Murphy poate funcționa - nici un configurator sendmail nu va fi dezvoltat pentru sistemul dvs. și atunci mai trebuie să vă ocupați de fișierele de configurare.

Fișierul principal de configurare sendmail este /etc/sendmail.cf. La unele distribuții, acest fișier se află în directorul / etc / mail. Se spune că acest fișier este mai lung decât limuzina lui Bill Gates și că editarea are loc în modul „ochii se tem, mâinile fac”. Dacă nu mă credeți, deschideți acest fișier și vă veți convinge de el. Numai administratorii profesioniști sau dezvoltatorii sendmail pot edita acest fișier manual.

De obicei, procesorul macro m4 este utilizat pentru a edita acest fișier. Mai întâi, pregătiți un fișier mc special. Acest fișier conține setările .sendmail, dar într-o formă mai „lizibilă”. Când editați fișierele de configurare, dimensiunea acestora afectează și ele. Pentru comparație, fișierul meu mc are 2459 de octeți, iar fișierul meu sendmail.cf este de 46302 de octeți. Una este să editați un fișier de doi kiloocteți și cu totul altceva când dimensiunea fișierului este de 46 de kiloocteți. Spre deosebire de fișierul de configurare sendmail, veți înțelege imediat pentru ce este un anumit fișier mc. Apoi, după editarea fișierului mc, trebuie să rulați procesorul macro m4 pentru a crea fișierul de configurare sendmail:

m4 my_config.mc> /etc/sendmail.cf

Înainte de a rula această comandă, vă recomand să salvați undeva fișierul sursă sendmail.cf. În cazul setărilor incorecte, îl puteți restabili oricând.

Fișierul de configurare implicit care este utilizat de procesorul macro T4 pentru a crea fișierul de configurare a programului sendmail (sendmail.cf) se află în directorul / usr / share / sendmail-cf / cf. În versiunile mai vechi ale programului sendmail, acesta poate fi localizat în directorul / usr / lib / sendmail.

De obicei, acest fișier se numește sendmail.mc. Uneori poate fi numit diferit, de exemplu, redhat.mc dacă utilizați sistemul de operare Red Hat sau este compatibil cu acesta.

Un exemplu de fișier standard /usr/share/sendmail-cf/cf/redhat.mc este prezentat în Lista 13.1.

Lista 13.1. Fișier standard redhat.mc

deviază (-1)
dnl Acesta este fișierul de configurare a macrocomenzii sendmail. Dacă faceți modificări acestui fișier,
dnl aveți nevoie de sendmail-cf rpm instalat și apoi trebuie să generați un
dnl new /etc/sendmail.cf rulând următoarea comandă: dnl
dnl m4 /etc/mail/sendmail.mc> /etc/sendmail.cf
dnl
include ("../ m4 / cf.m4")
VERSIONID („Configurare Linux pentru Red Hat Linux”) dnl
OSTYPE („linux”)
define ("confDEF_USER_ID", "8:12") dnl
undefine ("UUCP_RELAY") dnl
undefine ("BITNET_RELAY") dnl
define („confAUTO_REBUILD”) dnl
definiți ("confTO_CONNECT", "1m") dnl
define („confTRY_NULL_MX_LIST”, adevărat) dnl
define ("confDONT_PROBE_INTERFACES", true) dnl
definiți ("PROCMAIL_MAILER_PATH", "/ usr / bin / procmail") dnl
define ("ALIAS_FILE", "/ eto / aliases") dnl
dnl define ("STATUS_FILE", "/ etc / mail / statistics") dnl
definiți ("UUCP_MAILER_MAX", "2000000") dnl
define („conf USERDB_SPEC”, „/etc/mail/userdb.db”) dnl
define ("confPRIVACY_FLAGS", "authwarnings, novrfy, noexpn, restrictqrun") dnl
define („confAUTH_OPTIONS”, „A”) dnl
dnl TRUST_AUTH_MECH ("DIGEST-MD5 CRAM-MD5 LOGIN PLAIN") dnl
dnl define ("confAUTH_MECHANISMS", "DIGEST-MD5 CRAM-MD5 LOGIN PLAIN") dnl
dnl define ("confTO_QUEUEWARN", "4h") dnl
dnl define ("confTO_QUEUERETURN", "5d") dnl
dnl define ("confQUEUE_LA", "12") dnl
dnl define ("confREFUSE_LA", "18") dnl
dnl FEATURE (delay_checks) dnl
FEATURE ("no_default_msa", "dnl") dnl
FEATURE ("smrsh", Vusr / sbin / smrsh ") dnl
FEATURE ("mailertable", "hash-o /etc/mail/mailertable.db") dnl
FEATURE ("virtusertable", "hash –o /etc/mail/virtusertable.db") dnl
FEATURE (redirecționare) dnl
FEATURE (always_add_domain) dnl
FEATURE (use_cw_file) dnl
FEATURE (use_ct_file) dnl
FEATURE (local_procmail, "", "procmail –t –Y –a $ h –d $ u") dnl
FEATURE ("access_db", "hash –o /etc/mail/access.db") dnl
FEATURE ("blacklist_recipients") dnl
EXPOSED_USER ("rădăcină") dnl
dnl Aceasta modifică sendmail pentru a asculta numai pe dispozitivul de loopback 127.0.0.1
dnl și nu pe orice alte dispozitive de rețea. Comentează asta dacă vrei
dnl pentru a accepta e-mail prin rețea.
DAEMON_OPTIONS ("Port = smtp, Adresă = 127.0.0.1, Nume = MTA")
dnl NOTĂ: legarea ambelor demoni IPv4 și IPv6 la același port necesită
dnl un patch de kernel
dnl DAEMON_OPTIONS (xport = smtp, Adr = :: 1, Name = MTA-v6, Family = inet6 ")
dnl Vă recomandăm insistent să comentați acest lucru dacă doriți să vă protejați
dnl-te de spam. Cu toate acestea, laptopul și utilizatorii de pe computere care
Dnl nu au DNS 24x7, nu au nevoie de asta.
FEATURE ("accept_unresolvable_domains") dnl
dnl FEATURE ("releu_based_on_MX") dnl
MAILER (smtp) dnl
MAILER (procmail) dnl
Cwlocalhost.localdomain

Directiva FEATURE poate fi folosită pentru a conecta una sau alta funcție a programului sendmail. De exemplu, funcția mailertable este concepută pentru a suprascrie rutarea pentru anumite domenii. Puteți extinde cu ușurință funcționalitatea programului sendmail adăugând funcțiile dorite în fișierul mc.

Să presupunem că doriți să ascundeți numele computerelor din domeniu. Acest lucru este ușor de realizat prin adăugarea funcției masquerade_envelope la fișierul mc. Pentru a face acest lucru, copiați fișierul redhat.mc în fișierul hide_hosts.me și adăugați următoarele linii la sfârșitul fișierului hide_hosts.me:

MASQUERADE_AS (domeniul-meu.ru) dnl
FEATURE (masquerade_envelope) dnl

Apoi rulați comanda:

m4 /usr/share/sendmail-cf/cf/hide_hosts.me> /etc/sendmail.me

Asta e tot! Numele nodurilor vor fi ascunse. Descrierea altor funcții este prezentată în tabel. 13.1.

Funcții Sendmail Tabelul 13.1

Funcţie Descriere
access_db Definește tabelul de acces. Acest tabel listează gazdele cărora le este permis sau refuzat să trimită e-mail prin serverul dvs. de e-mail. Această opțiune este utilizată în mod eficient pentru a combate spam-ul. Protecția împotriva spamului este discutată în detaliu în secțiunea cu același nume din cap. 23
accept_unresolvable_domains Permite trimiterea de e-mailuri către domenii care nu pot fi recunoscute
bestmx_is-local Mesajele vor fi acceptate numai dacă înregistrarea MX DNS indică acest server de e-mail
lista_neagră_destinatarii „Lista neagră”. O altă opțiune pentru combaterea spamului. Opțiunea access_db este necesară pentru ca aceasta să funcționeze.
dnsbl Folosit pentru a lucra cu lista neagră, dnsbl este o abreviere pentru DNS Black List. În versiunile anterioare, această opțiune era numită (Rezolvare Lista Neagră)
domaintable Folosit pentru a rezolva numele de domenii
generictable Folosit pentru a schimba adresa de expediere în mesaje
local_procmail Indică faptul că e-mailul trebuie livrat utilizând utilitarul local procmail
mailertable Ignoră rutarea pentru anumite domenii
masquerade_tot_domain Folosit pentru a masca (a ascunde) întregul domeniu. Această funcție trebuie utilizată împreună cu directiva MASQUERADE AS (sau MASQUERADE_DOMAIN), de exemplu, MASQUERADE_AS (f117.ru) dnl
masquerade_envelope Vă permite să ascundeți numele de gazdă ale domeniului. Înlocuiește câmpul primit de la antetul mesajului înainte de a transmite mesajul altora
redirecţiona Folosit pentru a redirecționa către un alt server de e-mail. Înseamnă refuzul de a accepta e-mail cu emiterea unui mesaj, vă rugăm să încercați
(incearca sa folosesti aceasta adresa)
relay_based_on_MX Permite redirecționarea e-mailurilor (retransmiterea) numai pentru gazdele specificate în înregistrările serverului MX DNS
relay_hosts_only Permite retransmiterea numai pentru nodurile specificate în access_db
relay_mail_de la Permite retransmiterea numai dacă expeditorul este listat în lista RELAY a accessdb
smrsh Folosind shell-ul limitat sendmail
use_cf_file Când este specificată această funcție, sendmail va căuta în fișierul sendmail.cf o listă de utilizatori de încredere.
use_cw_file Când este specificată această funcție, sendmail va căuta în fișierul sendmail.cw o listă de gazde locale.
virtuserabil Convertește adresa destinatarului în adresa unui utilizator local

Fișierul /etc/mail/sendmail.cw listează toate aliasurile pentru un anumit server de e-mail. Să presupunem că numele serverului tău este mail.dhsilabs.ru. Dacă expeditorul trimite mail la adresa [email protected], scrisoarea va fi livrată utilizatorului fără probleme. Si daca cineva trimite o scrisoare la adresa [email protected], atunci livrarea sa va cauza anumite dificultăți, deoarece nu este clar cărui nod al domeniului dhsilabs este adresat mesajul? Pentru a rezolva această problemă, trebuie să puneți o linie în fișierul sendmail.cw.

Abia ai nevoie server web care nu pot trimite e-mail de pe site-ul dvs. Mai jos este o modalitate simplă de implementare rapidă sendmail ca un MTA (Mail Transfer Agent) care trimite e-mail pentru site.

A începe instalare

Sudo apt-get install sendmail

Al doilea și cel mai important lucru este configurația corectă a gazdei în sine. Mailerul trebuie să știe exact ce nume DNS FQDN are gazda și că acesta există în vastitatea rețelei mondiale.

Să presupunem că serverul pe care sendmail funcționează are o adresă IP 123.123.123.123

Avem, de asemenea, numele de domeniu domainame.com, care este corect delegat la adresa IP a serverului.

Editarea fișierului / etc / gazde astfel încât serverul să-și cunoască propriul nume DNS (desigur, trebuie să fie corect și real)

Sudo nano -w / etc / hosts

A doua linie, care ar trebui adăugată, este descrierea numelui de domeniu al serverului, compararea acestuia cu adresa IP reală a gazdei și numele sistemului intern:

127.0.0.1 localhost 123.123.123.123 box1.domainname.com server-ul-web

Apoi trebuie să faceți o modificare a fișierului / etc / nume de gazdă

Sudo nano -w / etc / nume de gazdă

Și introduceți acolo numele corect al serverului, care a fost introdus / etc / gazdeîn exemplul nostru, acesta este serverul dvs. web.

Conținutul fișierului / etc / hostname după editare:

Serverul dvs. web

După acești pași, trebuie să reporniți serverul sau să rulați:

/etc/init.d/hostname restart Și rulați 2 comenzi: hostname hostname -f

Dacă totul este corect, sistemul ar trebui să returneze aceleași nume în ambele cazuri: server-ul-web

Recomanda verificați trimiterea scrisorii prin urmare

# telnet localhost smtp ne oferă: Trying :: 1 ... Trying 127.0.0.1 ... Conectat la localhost. Caracterul de evacuare este „^]”. 220 localhost6.localdomain6 ESMTP Sendmail 8.14.3 / 8.14.3 / Debian-9.2ubuntu1; Joi, 9 Dec 2010 15:31:17 +0200; (Fără UCE / UBE) acces de înregistrare de la: localhost.localdomain (OK) - localhost.localdomain introduceți: HELO localhost ne oferă: 250 localhost6.localdomain6 Bună ziua localhost.localdomain, mă bucur să vă cunosc introduceți: MAIL FROM: [email protected] ne dă: 250 2.1.0 [email protected] Sender ok, introduceți: RCPT TO: [email protected] ne dă: 250 2.1.5 [email protected] Destinatar ok, introduceti: ​​DATA ne da: 354 Introduceti mail, terminati cu "." pe o singură linie, introduceți mesajul de testare. Sper că ați ghicit că e-mailul de mai sus ar fi trebuit să fie înlocuit cu ultimul dvs. pe care telnet ne-a scris 250 2.0.0 oB9DVHsE004837 Mesaj acceptat pentru livrare

Ca rezultat al executării unei secvențe de comenzi către e-mailul specificat ( [email protected]) ar trebui să vină un mesaj („mesaj de testare”).

Configurare PHP.ini

gedit/etc/php5/apache2/php.ini

Găsiți și editați linia următoare

sendmail_path = / usr / sbin / sendmail -t -i

Verificarea funcției de e-mail ().

ecou Poștă (" [email protected]"," mesaj de testare "," mesaj de testare "," De la: [email protected]"); ?>

Configurarea este completă, sper să reușiți configurați Sendmail pe Ubuntu

Ghid de instalare și configurare pentru unul dintre cele mai vechi MTA (Agent de transfer de corespondență), un program pentru trimiterea de e-mail - sendmail care este disponibil pentru instalare pe orice sistem de operare. Pe multe sisteme de operare sendmail este instalat implicit și nu este nevoie specială de a schimba acest MTA standard cu altul. În același timp, același PHP este configurat implicit pentru a funcționa cu acest MTA. Dacă configurarea sendmail durează mult - puneți postfix (), nu este nevoie să pierdeți mult timp.

Pregătirea

Verificați dacă aveți sendmail instalat și nu exim4 sau alt MTA:

Ls -la `which sendmail` # lrwxrwxrwx 1 root root 26 2011-01-17 19:58 / usr / sbin / sendmail -> / etc / alternative / sendmail

Instalare

sudo apt-get install sendmail sasl2-bin

Configurarea / etc / gazde

127.0.0.1 localhost localhost.localdomain e5530
Notă

Trebuie să specificați gazda principală (numele computerului, al meu este e5530) și localhost.localdomain, altfel veți primi o eroare: Numele meu de gazdă necalificat (numele de gazdă) necunoscut; dorm pentru a reîncerca „și” nu pot califica propriul meu nume de domeniu (e5530) - folosind un nume scurt, trimite mail durează mult să pornească și trimite e-mailuri lent. Posibil gazdă localhost.localdomain poate fi omis, nu sunt sigur.

După aceea, trebuie să specificați numele gazdelor locale, din care sendmail va accepta cereri de trimitere de mesaje de e-mail, în fișierul / etc / mail / local-host-names:

AuthInfo: smtp.gmail.com „U: [email protected]"" Eu: [email protected]"" P: YourPass "" M: PLAIN "AuthInfo: smtp.gmail.com: 465" U: [email protected]"" Eu: [email protected]"" P: YourPass "" M: PLAIN "

Notă

În loc de portul 465, puteți încerca să bateți la 587 (dacă există probleme cu autorizarea):

AuthInfo: smtp.gmail.com: 587 "U: [email protected]"" Eu: [email protected]"" P: YourPass "" M: PLAIN "

Chmod 600 / etc / mail / auth / *

Configurare Sendmail.mc

Fișierul de configurare /etc/mail/sendmail.mc. Comparați configurația dvs. Ar trebui să fie așa ceva.. Ordinea instrucțiunilor este importantă!

Dnl # include (`/etc/mail/m4/dialup.m4") dnl include (`/etc/mail/m4/provider.m4") dnl include (`/etc/mail/tls/starttls.m4") dnl include (`/etc/mail/sasl/sasl.m4") dnl FEATURE (`authinfo", `hash / etc / mail / auth / client-info") dnl define (`SMART_HOST", `smtp.gmail.com" ) dnl define (`RELAY_MAILER_ARGS", `TCP $ h 587") dnl define (`ESMTP_MAILER_ARGS", `TCP $ h 587") dnl dnl # dnl # Configurare implicită Mailer MAILER_DEFINITIONS MAILER (`local") dnl MAILER ("local") ) dnl define (`confAUTH_MECHANISMS", `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN") dnl # dnl define (`confDOMAIN_NAME", `e5530") dnl

Folosind configurația sendmail

cd / etc / mail sudo su # doar sudo nu va funcționa! m4 sendmail.mc> sendmail.cf makemap -r hash authinfo.db< auth/client-info make /etc/init.d/sendmail restart # Перезагрузка конфига

Probleme și soluții

Dacă totul este configurat corect, dar mesajele merg în „coada în așteptare” și nu sunt transmise către un alt SMTP:

  1. Verificați-vă IP-ul "schnick în listele negre. Puteți verifica IP-ul interzis aici la smart-ip.net, IP-ul meu a intrat în baza de date spamhaus" a.
  2. Verificați dacă furnizorul dvs. blochează pachetele de ieșire pe portul 25.
Probleme cu Intertelecom!

Nu am reușit să configurez transmisia de mesaje pe GMail prin sendmail pe conexiunea Intertelecom - sendmail a bătut cu încăpățânare la portul 25, care este închis de ISP. A trebuit să configurez postfix.

Configurare PHP (dacă este necesar)

Specificați parametrii de lansare sendmail în /etc/php5/apache2/php.ini config (/etc/php5/cli/php.ini):

## Configurarea sendmail pentru PHP: sendmail_path = / usr / sbin / sendmail -t; sendmail_path = "/ usr / sbin / sendmail -t -f [email protected]- eu "

Să verificăm setările

echo „Textul mesajului” | mail -s „Subiect” [email protected] sendmail -t [email protected]-f [email protected]-v -i< ~/mail-body.txt

Pentru a testa postfix, încercați să trimiteți mai multe mesaje de pe consolă. Am descris cum se face acest lucru în acest articol: „”.

Gestionarea Sendmail

Vizualizați întreaga coadă de mesaje:

Sudo mailq

Vizualizați coada de mesaje la o anumită adresă:

Sudo mailq | grep" [email protected]„| wc -l

Ștergeți întreaga coadă de mesaje sendmail:

Sudo rm -r / var / spool / mqueue-client / *

Ștergeți coada de mesaje sendmail la destinație:

Cd / var / spool / mqueue ls | xargs -ti sh -c "grep" [email protected]"" () "> / dev / null && rm -f" () ""

#sendmail, #LAMP, #MTA

P.S. Dacă doriți să învățați consola Linux la un nivel destul de bun, vă recomand să citiți cartea proaspătă a lui Denis Kolisnichenko „ Linia de comandă Linux și automatizarea sarcinilor de rutină».

În primul rând, o mică digresiune

SMTP - Simple Mail Transfer Protocol - un serviciu în rețelele TCP/IP pentru transferul de mesaje (adică e-mail). De obicei, portul 25 este utilizat pentru SMTP (vezi fișierul / etc / servicii)

POP - Post Office Protocol - este folosit pentru a primi mail de la server. Portul implicit este 110 (pentru protocolul POP3)

Acum voi încerca să explic cum să configurați un server de e-mail mic folosind POP3 și SMTP.

Mai întâi, vom instala software-ul necesar. Avem nevoie de sendmail și imap. Dacă utilizați o versiune de Linux compatibilă cu RH, va trebui să instalați pachetele corespunzătoare.
eu folosesc
sendmail-8.11.0
imap-4.7c2

Înainte de a începe configurarea sendmail, trebuie să configurați corect DNS, altfel acest program nu va funcționa corect (deși puteți configura sendmail să funcționeze fără a utiliza dns).

Să facem configurația de bază a sendmail. Pentru a face acest lucru, trebuie să rulați utilitarul
netconf... Funcționează atât de sub X, cât și de sub consolă.
Utilitarul netconf este în RH, Mandrake - nu știu sigur despre alte versiuni. (nu este disponibil în KSI Linux). Desigur, trebuie să fii autentificat ca root.

Selectați din meniu Sistemul Mail Delivery, atunci Configurație de bază sendmail
În câmpul Prezentați-vă sistemul ca, introduceți doar numele dvs. de domeniu
Apoi bifați caseta Accept email pentru...
Setați protocolul de trimitere a mesajelor la smtp ( Protocol gateway de e-mail)

Aceste informații sunt deja suficiente pentru a vă pune în funcțiune sendmail.
Puteți seta opțiuni suplimentare pentru programul sendmail cu
netconf. Dacă nu ai sendmail, vei avea un de neuitat
plăcerea de a edita manual fișierul /etc/sendmail.cf - în el
setările sunt stocate) :)

Acum să facem astfel încât sendmail să accepte numai e-mailuri de la autorizați
adrese. Pentru a face acest lucru, nici măcar nu trebuie să configurați sendmail în sine - trebuie doar să faceți acest lucru
corectează fișierele /etc/hosts.allow și /etc/hosts.deny
Prima conține o listă de gazde care au permisiunea de a accesa aceasta
mașină, iar în al doilea este interzis. Vă rugăm să rețineți: în ciuda numelui
(permis | refuzat), restricții care sunt stabilite de primul fișier
mult mai stricte.

Exemplu. Pentru a refuza accesul la toate gazdele, cu excepția computerelor dvs
rețelele din fișierul /etc/hosts.allow adăugați linia
"192.168.1.
Aici ne referim la faptul că rețeaua are adresa 192.168.1.0 și masca 255.255.255.0
Puteți citi mai multe despre formatul de fișier hosts.allow și hosts.deny,
prin introducerea comenzii man /etc/hosts.allow

Pentru a primi e-mail numai de la domeniile „voastre”, trebuie să adăugați la
mc (de obicei /etc/mail/sendmail.mc) următoarele linii (utilizați
file, nu spații)
LOCAL_CONFIG
FR-o /etc/sendmail.cR

LOCAL_RULESETS
Scheck_rcpt
# orice se încheie local este ok
R< $+ @ $=w > [email protected] Bine
R< $+ @ $=R > [email protected] Bine

# orice provine local este ok
R $ * $: $ (indicați „” $ și (nume_client) $)
R $ = w [email protected] Bine
R $ = R [email protected] Bine
[email protected] [email protected] Bine

# orice altceva este fals
R $ * $ # eroare $: „550 Retransmitere refuzată”

Acum creați un fișier /etc/sendmail.cR și introduceți numele domeniilor „voastre” în el -
câte unul pe fiecare linie.
Numai pentru aceste domenii, expeditorul va putea primi e-mail - toți ceilalți vor primi
550 Retransmiterea mesajului refuzat

Acum este rândul lui POP3. După instalarea pachetului imap, aveți practic
totul este pus la punct, adică Vreau să spun că este deja posibilă verificarea configurației.

Mai întâi, reporniți demonul inetd
După repornirea acestuia, vor fi activate serviciile sendmail și popd (mai precis
se apelează un sendmail și popd după cum este necesar)

Încercați următoarele:
intra in telnet<имя_только_созданного_почтовика> 25
Ar trebui să vezi așa ceva:
Încercați 192.168.1.1...
Conectat la 192.168.1.1
Caracterul de evacuare este „^]”
220 de.dhsilabs.com ESMTP Sendmail 8.11.0 / 8.8.7 Duminica, 17 iunie 2001 10:54:22 +300

Asta inseamna ca sendmail functioneaza, ramane de vazut cat de corect :)

Introduce
mail de la: [email protected]
220 2.1.0 [email protected].... Expeditorul Ok
rcpt la: [email protected]
220 2.1.5 [email protected].... Destinatar Ok
Acum introducem date, apoi textul mesajului, pentru a termina intrarea punem punct
pe o linie goală

Sendmail vă va informa că mesajul a fost trimis (mai precis, este plasat în
coada pentru plecare)

[email protected]-numele utilizatorului căruia îi trimit e-mail.
den.dhsilabs.com - numele expeditorului meu
Vă rugăm să rețineți că nu există gazdă my.host.com în natură, dar expeditorul este ok.
De aceea, în setările sendmail, este mai bine să activați opțiunea Așteptați DNS

Acum trebuie să porniți un client de e-mail, de exemplu, kmail
și ridicați corespondența.
Setări de rețea în kmail
Rețea -> Set de trimitere e-mail SMTP, al 25-lea port, nume server -
numele expeditorului dvs.,
Am - den.dhsilabs.com

Apoi adăugați un cont pentru POP3
Busteni - den
Parolă - parola care este utilizată pentru a vă conecta la sistem
Server - den.dhsilabs.com
Port - 110

Ar trebui să primiți mesajul pe care l-ați introdus după date.