Configurarea Sendmail. Instalarea și configurarea Sendmail în mediul Ubuntu

Cartea discută î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 server retea locala către serverul și serverul de Internet acces de la distanță. Administrarea Linux este descrisă în detaliu.

Prezentarea materialului se bazează pe distribuțiile Red Hat și Mandrake. Mult informații unice: lansarea jocurilor Windows pentru Linux și crearea unui server Linux pentru sala de jocuri, configurarea antivirusurilor Dr.. Web și AVP pentru Linux, programul de contabilitate a traficului MRTG, sistemul de securitate și detectarea atacurilor LIDS și multe altele. Atentie speciala concentrat pe securitatea serverelor Linux. Sistemul de operare Linux în sine este descris suficient de detaliat și este furnizată o carte de referință cu comenzile sale. După ce ați citit cartea, veți deveni proprietarul cunoștințelor despre configurarea și compilarea nucleului, crearea propriilor pachete rpm, comandă bash interpret, utilizare Matrice 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 principalele tehnologii de rețeași protocoale (Curs de tânăr administrator).

Toate listele prezentate în carte au fost testate în practică și sunt plasate pe CD-ul atașat. În plus, conține foarte mult informații de referință(HOWTO, RFC), precum și articole despre Linux. Un set bogat de utilități auxiliare și software pentru server (Apache, MySQL, MRTG etc.).

Carte:

Dacă utilizați o distribuție compatibilă RedHat, va trebui să instalați pachetele corespunzătoare. Folosesc sendmaiI-8.11.0 și imap-4.7c2. Ultima versiune 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 unui server DNS a fost discutată în detaliu în Cap. 10. Dacă configurați doar un server de e-mail, nu este necesar 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. Cu toate acestea, sendmail poate fi configurat să funcționeze fără Utilizarea DNS, dar nu voi lua în considerare această opțiune.

Pentru a începe configurarea sendmail de bază, 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 în alte distribuții, cu siguranță nu este în KSI Linux. Desigur, trebuie să fii autentificat ca root. Dacă nu aveți netconf, vă veți distra de minune editand manual fișierul /etc/sendmail.cf. În acest fișier sunt stocate toate setările sendmail.


Smochin. 13.1. configuratorul netconf

Selectați Sistem de livrare e-mail din meniu, apoi Configurare de bază sendmail. În câmpul Prezentați sistemul dvs. ca, introduceți pur și simplu dvs Numele domeniului. Apoi asigurați-vă că bifați caseta de selectare „Accept email for your_domain.com” (consultați Figura 13.2). Dacă nu faceți acest lucru, mesajele pot fi redirecționate prin serverul dvs. către un alt server. În același timp, trafic suplimentar va circula prin serverul dvs., ceea ce nu vă este de nici un folos. A existat odată chiar și acest tip de atac de negare 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, care vă permite să redirecționați mesajul (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 raportează 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ă nu există doar un astfel de mesaj, ci, să zicem, 100 și volumul fiecăruia este de cel puțin 1 MB! Ca rezultat, unul dintre serverele din lanțul domain1.com - host.com - domain2.com ar trebui să „cădeze”.


Orez. 13.2. Configurație de bază sendmail

Îmi cer scuze, am ieșit puțin din subiect, 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 ca sendmailul tău să funcționeze. Puteți instala opțiuni suplimentare programe sendmail folosind netconf.

Acum faceți ca sendmail să accepte e-mailuri numai de la adresele permise. Pentru a face acest lucru, nici măcar nu trebuie să configurați sendmail în sine - trebuie doar să editaț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 „refuzat”, 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 la fișierul /etc/hosts.allow.

Aceasta înseamnă 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ă deja puteți verifica configurația. Reporniți demonul inetd sau xinetd, în funcție de cel pe care îl utilizați și introduceți următoarele:

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

Ar trebui să vedeți ceva de genul acesta ca răspuns:

Î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

Aceasta înseamnă că sendmail funcționează, tot ce rămâne este să verifici cât de corect 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 și pentru a încheia introducerea, puneți un punct linie goală. Sendmail va raporta că mesajul a fost trimis (mai precis, plasat în coada pentru trimitere). Record [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 exemplu. În schimb, trebuie să specificați valorile dvs.

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

Acum trebuie să rulezi câteva client de mail, de exemplu, kmail și primiți e-mail. Utilizare următoarele setări rețele în programul kmail: Network? 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 folosită pentru autentificarea în sistem.

Server - den.dhsilabs.com

Ca urmare, ar trebui să primiți mesajul pe care l-ați introdus după date. Acest lucru poate cauza probleme cu rezoluția numelui. Pentru a le evita, trebuie să configurați corect DNS sau în locul numelui server de mail utilizați adresa sa IP. Când adăugați un utilizator nou, asigurați-vă că îi setați parola de conectare. Dacă nu faceți acest lucru și încercați să primiți e-mail fără a specifica o parolă, veți primi mesajul „Autentificare eșuată”.

Configurare de bază Programul sendmail este foarte ușor de utilizat folosind configuratorul, dar uneori configurația de bază nu este suficientă. Pentru mai mult reglaj fin 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 configurația de bază până când spammerii vă vor lua sub „protectoratul” lor - atunci va trebui să citiți capitolul. 23 despre metodele anti-spam. Cu toate acestea, una dintre legile lui Murphy poate intra în joc - un configurator sendmail nu va fi dezvoltat pentru sistemul dvs. și atunci va trebui să vă ocupați în continuare de fișierele de configurare.

Fișierul principal de configurare sendmail este /etc/sendmail.cf. La unele distribuții, acest fișier este localizat în directorul /etc/mail. Se spune că acest fișier este mai lung decât limuzina lui Bill Gates și că este editat în modul „ochii se tem, mâinile fac”. Dacă nu mă credeți, deschideți acest fișier și veți vedea singur. Editați | × acest fișier Numai administratorii profesioniști sau dezvoltatorii de programe sendmail pot face acest lucru 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: dimensiunea fișierului meu mc este de 2459 de octeți, iar dimensiunea fișierului sendmail.cf este de 46302 de octeți. Una este să editați un fișier de doi kiloocteți, dar cu totul altceva dacă dimensiunea fișierului este de 46 de kiloocteți. Spre deosebire de Fișier de configurare sendmail, veți înțelege imediat la ce este destinat acest sau acel 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 dosarul original sendmail.cf. Când setări incorecteîl poți restaura 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 de sendmail, acesta poate fi localizat în directorul /usr/lib/sendmail.

De obicei, acest fișier se numește sendmail.mc. Uneori poate fi numit și altceva, cum ar fi redhat.mc, dacă utilizați un Red Hat sau un sistem de operare compatibil.

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
define("confTO_CONNECT", "1m") dnl
define("confTRY_NULL_MX_LIST",true)dnl
define("confDONT_PROBE_INTERFACES",true)dnl
define("PROCMAIL_MAILER_PATH", "/usr/bin/procmail")dnl
define("ALIAS_FILE", "/eto/aliases") dnl
dnl define("STATUS_FILE", "/etc/mail/statistics") dnl
define("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(redirect)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(„destinatari_lista_neagră”) 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, Adr=127.0.0.1, Nume=MTA")
dnl NOTĂ: legarea ambelor demon IPv4 și IPv6 la același port necesită
dnl un patch de kernel
dnl DAEMON_OPTIONS (xport=smtp,Addr=::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
nu dnl nu au DNS 24x7 nu au nevoie de asta.
FEATURE(„accept_domenii_nerezolvabile”) dnl
dnl FEATURE ("releu bazat pe_MX") dnl
MAILER(smtp)dnl
MAILER(procmail)dnl
Cwlocalhost.localdomain

Folosind directiva FEATURE, puteți activa una sau alta funcție a programului sendmail. De exemplu, funcția mailertable este concepută pentru a suprascrie rutarea pentru anumite domenii. Vă puteți extinde cu ușurință funcţionalitate programul sendmail, adăugând funcțiile de care aveți nevoie în fișierul mc.

Să presupunem că doriți ca numele computerelor dintr-un domeniu să fie ascunse. 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. O descriere a altor funcții este prezentată în tabel. 13.1.

Funcțiile programului sendmail Tabelul 13.1

Funcţie Descriere
access_db Definește tabelul de acces. Acest tabel listează gazdele cărora le este permis sau blocat să trimită e-mail prin serverul dvs. de e-mail. Această opțiune este utilizată în mod eficient pentru a combate spamul. Protecția împotriva spamului este discutată în detaliu în secțiunea cu același nume din capitol. 23
accept_unresolvable_domains Permite trimiterea e-mailurilor către domenii care nu pot fi recunoscute
bestmx_is-local Mesajele vor fi acceptate numai dacă intrarea serverului MX DNS indică acest server de e-mail
lista_neagră_destinatarii „Lista neagră”. O altă opțiune de combatere a spamului. Opțiunea access_db este necesară pentru ca aceasta să funcționeze.
dnsbl Folosit pentru lista neagră, dnsbl este prescurtarea pentru DNS Black List. În mai mult versiuni anterioare această opțiune a fost numită (Rezolvare Lista Neagră)
domaintable Folosit pentru a rezolva numele de domenii
generictable Folosit pentru a schimba adresa de expediere în mesaje
local_procmail Specifică faptul că e-mailul trebuie livrat folosind utilitate 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 domeniilor. Î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 mesajul, vă rugăm să încercați
(incearca sa folosesti aceasta adresa)
relay_based_on_MX Permite redirecționarea e-mailurilor (releu) numai pentru gazdele care sunt 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 bazei de date 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 utilizatorului 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 e-mail la adresa [email protected], scrisoarea va fi livrată utilizatorului fără probleme. Dacă cineva îi trimite o scrisoare [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.

A apărut în 1983, dar este încă folosit activ până în zilele noastre. Printre caracteristicile cheie se numără faptul că este susținut de multe platforme care există astăzi și este, de asemenea, gratuit. Aplicația vine cu software open source. Aceasta înseamnă că oricine își poate adăuga propriile funcționalități sau o poate modifica după bunul plac. În sistemul de operare Ubuntu, Sendmail, care este configurat folosind linia de comandă Linux, a luat rădăcină datorită suportului bun și capabilităților bogate.

Procesorul de mesaje – Sendmail – a devenit larg răspândit în sfera afacerilor.

Astăzi, „procesorul de mesaje” Sendmail Sestrion, care a fost creat ținând cont de nevoile companiilor mari, este destul de comun. Caracteristicile sale distinctive sunt performanța ridicată și buna integrare cu toate procesele de afaceri. Sentrion oferă, alături de noile tehnologii, utilizarea aplicațiilor vechi care au prins bine. Aplicația este, de asemenea, suficient de prietenoasă pentru a se potrivi utilizatorilor casnici.

Instalarea programului

Trebuie să instalați Sandmail pe bază server local sau server web. În al doilea caz agent postal va fi mai funcțional. Pentru a obține toate componentele unui server web, veți avea nevoie de o stivă de componente LAMP. Poate fi găsit în depozit.

IMPORTANT. Înainte de a instala software nou, asigurați-vă că actualizați listele de pachete din depozitul dvs. local utilizând comanda

„$ sudo apt-get update”

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

„mcedit /etc/hosts”
"sudo sendmailconfig"

După aceasta, trebuie să reporniți serviciile programului în sine, precum și web-ul server Apache:

"sudo /etc/init.d/sendmail restart"
"sudo /etc/init.d/apache2 restart"

Dacă este necesar, puteți instala utilitare pentru lucrul cu e-mailul:

"sudo install mailutils"

Nu sunt administrator, așa că vă rugăm să luați această notă cu precauție.
Se ia în considerare următoarea situație: trebuie să forțați serverul sendmail să trimită e-mail, dar nu acceptați nimic ca răspuns. Strict pentru notificări de pe site-uri web. Am un VDS cu Exim4 preinstalat care, din câte am înțeles, este „referit” prin sendmail. Acestea. Exim4 chiar funcționează.

Mai întâi configuram gazda ( numele-meu-gazdă acesta este numele gazdei noastre din care va călători totul) sudo mcedit /etc/hosts Fișierul ar trebui să conțină linii precum 127.0.0.1 localhost 111.111.111.111 hostname.my-hoster.net my-host-name Apoi, schimbați numele gazdei în fișierul sudo mcedit / etc/hostname Fișierul ar trebui să arate așa (complet, adică doar numele gazdei și gata) my-host-name Acum supraîncărcăm serviciul care, aproximativ vorbind, actualizează numele gazdei la nivel global sudo /etc /init.d/hostname.sh stop sudo / etc/init.d/hostname.sh start # dacă nu există un astfel de script, atunci încercați altfel: sudo service hostname restart R.E.M. Există, de asemenea, o astfel de opțiune, pentru Debian 9 (stretch) hostnamectl set-hostname my-host-name Acum executăm comenzile hostname hostname -f Dacă totul este făcut corect, atunci ambele ar trebui să returneze valoarea my-host-name (adică numele gazdei dvs.)

Acum trebuie să configurați sendmail în sine. În cazul meu, trebuie să reconfigurez Exim4. Acest lucru se face cam așa: sudo dpkg-reconfigure exim4-config După aceasta, în asistent trebuie doar să selectați valorile ( special pentru Exim4)

  • site de internet..
  • introduceți numele gazdei dvs. (numele-meu-gazdă)
  • setați ip pentru smtp numai la 127.0.0.1 pentru că nu avem nevoie conexiuni externe prin smtp
  • alte sarcini valide sunt lăsate implicite
  • domenii pentru releu permis - lăsați necompletat
  • mașini pentru releu - lăsați gol
  • numărul de solicitări DNS este la discreția dumneavoastră, nu am limitat
  • Am lăsat metoda de livrare la fel ca a fost, adică. /var/mail
  • împărțiți nu fișiere de configurare separate - la discreția dvs., argumentele sunt descrise acolo, nu am împărțit
Acum, pentru a verifica dacă e-mailul trece, procedați astfel: sendmail -i [email protected] Apoi, introduceți textul mesajului de testare. Și când este gata, apăsați Ctrl+d
Hai să ne verificăm poșta. Dacă sosește scrisoarea, totul este în regulă și urează. Dacă nu, să mergem mai departe pe Google :)

În continuare trebuie să ne asigurăm că smtp nu este disponibil pe serverul nostru, pentru asta trebuie să mergem la mașină locală bate la portul 25 al serverului și primești o bătaie. Acest lucru se face, de exemplu, astfel: telnet my-host-name 25 Trying 111.111.111.111... telnet: Imposibil de conectat la gazda la distanță: Conexiune refuzată Dacă totul este așa, atunci totul este grozav. Portul este închis.

Un alt mic truc. Se întâmplă ca, dintr-un anumit motiv, serviciul care rulează aplicația web trebuie repornit în mod regulat. În cazul meu, acesta este node.js și fac asta aproximativ o dată de fiecare N ori. Deci, dacă reporniți procesul cu cron, atunci sendmail nu mai funcționează, deoarece aplicația nu știe unde se află, pur și simplu nu există o cale către el în cale și, prin urmare, pur și simplu nu este localizată. Puteți trece orice alte setări ale variabilei de mediu în același mod. Vezi mai jos cum să faci asta.

Mai întâi să vedem unde este sendmail care sendmail /usr/local/bin/sendmail Ok, vedem calea. Dacă dintr-o dată nu îl vedem, atunci hai să ne uităm la același lucru, dar sub sudo. Acum mergeți la crontab și adăugați acolo variabile de mediu. crontab -e Deschide sarcini de editare pentru utilizator curent. Adică toate sarcinile vor fi finalizate cu drepturile utilizatorului actual și serviciul va începe cu drepturile acestui utilizator, dacă este lansat conform planului tău, desigur :)

# aceasta este o variabilă care spune unde să caute sendmail, # alte căi necesare pot fi scrise separate prin două puncte # utilitatile de care avem nevoie vor fi căutate acolo PATH=/usr/local/bin # acesta este un exemplu de variabilă de mediu că aplicația în sine va folosi NODE_ENV=producție # aceasta este de fapt sarcina în sine, căutați pe Google formatul crontab pentru a înțelege ce este # în în acest caz, scriptul va rula la 30 de minute din fiecare oră pară */30 */2 * * * /home/user/blog/scripts/restart.sh Ei bine, ceva de genul acesta. implor nu lua nota asta ca ghid complet la acţiune, este foarte posibil ca pentru cazul dvs. totul să fie semnificativ diferit. Dar poate că asta te va ajuta cumva sau măcar te va conduce să gândești în direcția corectă :) Mult succes!

Ghid de instalare și configurare pentru unul dintre cele mai vechi MTA (Agent de transfer de corespondență), program de trimitere E-mail - sendmail, care este disponibil pentru instalare pe orice sistem de operare. În 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, instalați postfix (), nu ar trebui 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/alternatives/sendmail

Instalare

sudo apt-get install sendmail sasl2-bin

Configurarea /etc/hosts

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 "incapabil să-l calific pe al meu numele domeniului(e5530) – folosind un nume scurt, trimite mail Este nevoie de mult timp pentru a începe și trimite e-mailuri lent. Posibil gazdă localhost.localdomain Poate fi ratat, nu sunt sigur.

După aceasta, trebuie să specificați numele gazdelor locale de la care sendmail va accepta cererile de depunere 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 pe 587 (dacă aveți 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")`sm MAILER(" )dnl define(`confAUTH_MECHANISMS", `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN")dnl # dnl define(`confDOMAIN_NAME", `e5530")dnl

Aplicarea configurației 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 ajung într-o „coadă amânată” și nu sunt transmise către un alt SMTP:

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

Nu am reușit niciodată să configurez un releu de mesaj către GMail prin sendmail pe conexiunea Intertelecom - sendmail a bătut cu încăpățânare la portul 25, care a fost închis de furnizor. A trebuit să configurez postfix.

Configurare PHP (dacă este necesar)

Specificați parametrii de lansare sendmail în configurația /etc/php5/apache2/php.ini (/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 după destinație:

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

#sendmail, #LAMP, #MTA

P.S. Dacă vrei să explorezi Consola Linux pentru destul nivel bun- Recomand să citiți cea mai recentă carte de Denis Kolisnichenko „ Echipă șir Linuxși automatizarea sarcinilor de rutină».