Cum se configurează Postfix și Dovecot cu utilizatorii de domeniu virtual în Linux
În articolul anterior al acestei serii am explicat cum să configurați și să gestionați în siguranță baza de date a serverului de poștă electronică utilizând phpMyAdmin.
Cerinţă:
Instalați Postfix Mail Server și Dovecot cu MariaDB - Partea 1
Configurați Postfix și Dovecot cu utilizatorii de domeniu virtual - Partea 2
Acum este timpul să configurați programele interne care vor face trimiterea și primirea e-mailurilor o realitate: Postfix și Porumbar (pentru a gestiona e-mailurile primite și, respectiv, primite).
Configurarea serverului de poștă Postfix
Înainte de a începe configurarea Postfix, ar merita și bine să aruncăm o privire asupra paginilor sale de manual Aici, punând un accent deosebit pe secțiunea intitulată „Informații pentru noii utilizatori Postfix“. Dacă faceți acest lucru, veți găsi mai ușor să urmați acest tutorial.
În câteva cuvinte, ar trebui să știți că există două fișiere de configurare pentru Postfix:
/etc/postfix/main.cf (Parametrii de configurare Postfix, consultați om 5 postconf pentru mai multe detalii).
/etc/postfix/master.cf (Configurarea demonului master Postfix, vezi om 5 stăpân pentru mai multe detalii).
În /etc/postfix/main.cf, localizați (sau adăugați, dacă este necesar) următoarele rânduri și asigurați-vă că corespund valorilor indicate mai jos:
Următoarele trei setări sunt de o importanță deosebită. În fișierele indicate în galben vom configura accesul Postfix la Domenii_tbl, Users_tbl, și Alias_tbl Mese:
Rețineți că puteți alege diferite nume de fișiere de mai sus, atâta timp cât vă asigurați că le creați și introduceți următorul conținut în ele. În fiecare caz, înlocuiți Parola Dvs cu parola pe care ați ales-o pentru dba utilizator în Partea 1, sau puteți utiliza, de asemenea MariaDB acreditări root pentru utilizator și parola de mai jos.
De asemenea, asigurați-vă că utilizați exact aceleași nume ale bazei de date a serverului de e-mail și a tabelelor create în Partea 1.
În /etc/postfix/mariadb-vdomains.cf:
mariadb-vdomains.cf
utilizator = dba. parola = Parola ta. hosts = 127.0.0.1. dbname = EmailServer_db. query = SELECT 1 FROM Domains_tbl WHERE DomainName = '% s'
În /etc/postfix/mariadb-vusers.cf:
mariadb-vusers.cf
utilizator = dba. parola = Parola ta. hosts = 127.0.0.1. dbname = EmailServer_db. query = SELECT 1 FROM Users_tbl WHERE Email = '% s'
În /etc/postfix/mariadb-valias.cf:
mariadb-valias.cf
utilizator = dba. parola = Parola ta. hosts = 127.0.0.1. dbname = EmailServer_db. interogare = Selectați destinația din Alias_tbl WHERE Sursă = '% s'
În cele din urmă, nu uitați să modificați permisiunile pentru aceste fișiere în 640:
Apoi, pentru a activa conexiunile securizate, trebuie să ne asigurăm că următoarele setări sunt necomentate (sau adăugate, dacă este necesar) în /etc/postfix/master.cf:
master.cf
depunere inet n - n - - smtpd -o syslog_name = postfix / depunere -o smtpd_tls_security_level = criptare -o smtpd_sasl_auth_enable = da -o smtpd_reject_unlisted_recipient = nu -o smtpd_recipient_restrictions = permit_sasl_authenticated, respinge -o milter_macro_daemon_name = ORIGINATOR. pickup unix n - n 60 1 pickup. curățare unix n - n - 0 curățare. qmgr unix n - n 300 1 qmgr. tlsmgr unix - - n 1000? 1 tlsmgr. rescrie unix - - n - - trivial-rescrie. bounce unix - - n - 0 bounce. amână unix - - n - 0 bounce. urmă unix - - n - 0 bounce. verifica unix - - n - 1 verifica. flush unix n - n 1000? 0 de culoare. proxymap unix - - n - - proxymap. proxywrite unix - - n - 1 proxymap. smtp unix - - n - - smtp. releu unix - - n - - smtp showq unix n - n - - showq. eroare unix - - n - - eroare. reîncercați unix - - n - - eroare. arunca unix - - n - - arunca. local unix - n n - - local. #virtual unix - n n - - virtual. lmtp unix - - n - - lmtp. nicovală unix - - n - 1 nicovală. scache unix - - n - 1 scache.
Notă: Indentarea în liniile care încep cu -o opțiunea este critică; în caz contrar, verificarea postfix va întoarce o eroare:
Verificați configurația Postfix
Înainte de a salva modificările, adăugați următoarele rânduri în partea de jos a fișierului:
master.cf
dovecot unix - n n - - steaguri de pipă = DRhu user = vmail: vmail argv = / usr / libexec / dovecot / deliver -f $ {sender} -d $ {recipient}
În acest moment, este esențial să verificăm dacă Postfix are acces la tabelele bazei de date și la domeniile, conturile și aliasurile pe care le-am creat în Partea 1.
Pentru a face acest lucru, vom folosi postmap, un utilitar pentru a testa comunicarea cu tabelele Postfix va căuta în timpul funcționării, dar în primul rând va trebui să repornim postfix:
În imaginea de mai jos putem vedea că pentru înregistrările existente în baza de date, a 1 este returnat. În caz contrar, nimic nu este afișat înapoi pe ecran. În cazul verificării aliasului, rețineți că este returnat contul de e-mail propriu-zis alias aliasului:
Verificați Comunicarea tabelului Postfix
Rețineți că suntem NU autentificându-ne cu datele de conectare stabilite pentru fiecare cont de e-mail, testăm doar capacitatea Postfix de a detecta acele înregistrări din baza de date.
Astfel, dacă obțineți o ieșire diferită de cea de mai sus, asigurați-vă că utilizați o pereche validă utilizator / parolă în mariadb-vdomains.cf, mariadb-vusers.cf, și mariadb-valias.cf (sau orice ai ales să numești acele fișiere).
Configurarea Dovecot
Ca un IMAP / POP3 server, Dovecot oferă o modalitate pentru utilizatori prin intermediul unui Agent utilizator de e-mail (MUA, sau, de asemenea, cunoscut sub numele de client), cum ar fi Thunderbird sau Outlook, pentru a numi câteva exemple de acces la e-mailurile lor.
Pentru început, să creăm un utilizator și un grup pentru a gestiona e-mailurile (vom avea nevoie de acest lucru, deoarece conturile noastre de e-mail nu sunt asociate cu un utilizator de sistem). Puteți folosi altul UID și GID (în afară de 5000 așa cum facem mai jos), atâta timp cât nu este utilizat și este un număr mare:
Setările pentru Dovecot sunt împărțite în mai multe fișiere de configurare (asigurați-vă că următoarele linii sunt necomentate și / sau modificați-le pentru a se potrivi cu setările indicate mai jos).
În /etc/dovecot/conf.d/10-auth.conf (activați autentificarea numai prin SQL și lăsați alte metode de autentificare comentate):
10-auth.conf
disable_plaintext_auth = da. auth_mechanisms = autentificare simplă.! include auth-sql.conf.ext.
În /etc/dovecot/conf.d/auth-sql.conf.ext (rețineți că vom stoca e-mailurile într-un director numit domeniul dvs. interior /home/vmail, pe care trebuie să îl creați dacă nu există. În cazul nostru am făcut-o mkdir /home/vmail/linuxnewz.com pentru a gestiona e-mailurile pentru domeniul respectiv):
auth-sql.conf.ext
passdb {driver = sql args = /etc/dovecot/dovecot-sql.conf.ext. } userdb {driver = static args = uid = vmail gid = vmail home = / home / vmail /% d /% n / Maildir. }
Căsuțele primite individuale pentru conturile de utilizator vor fi create la primirea primelor e-mailuri pentru astfel de conturi.
În /etc/dovecot/conf.d/10-mail.conf:
10-mail.conf
mail_location = maildir: / home / vmail /% d /% n / Maildir. căsuța de intrare a spațiului de nume {inbox = da. } mail_privileged_group = mail. mbox_write_locks = fcntl.
În /etc/dovecot/conf.d/10-master.conf:
10-master.conf
service imap-login {inet_listener imap {port = 143} inet_listener imaps {} } service pop3-login {inet_listener pop3 {port = 110} inet_listener pop3s {} } service lmtp {unix_listener / var / spool / postfix / private / dovecot-lmtp {mode = 0600 user = postfix group = postfix} } service auth {unix_listener / var / spool / postfix / private / auth {mode = 0666 user = postfix group = postfix} unix_listener auth-userdb {mode = 0600 user = vmail} user = dovecot. } service auth-worker {utilizator = vmail. } service dict {unix_listener dict {} }
În /etc/dovecot/conf.d/10-ssl.conf (înlocuiți certificatul și căile cheii dacă intenționați să utilizați un certificat semnat de o CA):
10-ssl.conf
ssl = obligatoriu. ssl_cert =
În /etc/dovecot/dovecot-sql.conf.ext introduceți informațiile bazei de date și acreditările utilizatorului administrativ create în Partea 1.
Important: dacă parola dvs. conține un asterisc (#), va trebui să atașați șirul de conectare așa cum este indicat în exemplul de mai jos:
dovecot-sql.conf.ext
driver = mysql. connect = "host = 127.0.0.1 dbname = EmailServer_db user = dba parola = PassWith # Aici" default_pass_scheme = SHA512-CRYPT. password_query = SELECT E-mail ca utilizator, parola FROM Users_tbl WHERE Email = '% u';
În plus, puteți configura jurnalizarea pentru ca Dovecot să fie separată de Postfix in /etc/dovecot/conf.d/10-logging.conf:
log_path = /var/log/dovecot.log.
În cele din urmă, asigurați-vă că jurnalul Dovecot este accesibil utilizatorului porumbar:
Verificați și remediați configurația Postifix și activați SMTP, POP3 și IMAP în firewall
Dacă întâmpinați probleme în timpul configurării Postfix și / sau Dovecot, în loc să trimiteți toate din fișierele de configurare pentru a cere ajutor, puteți obține un rezumat al configurației (numai linii necomentate) cu:
# postconf –n # Rezumat pentru /etc/postfix/main.cf. # postconf –M # Rezumat pentru /etc/postfix/master.cf. # doveconf –n # Rezumatul tuturor fișierelor de configurare pentru Dovecot.
În plus, asigurați-vă că căsuțele de e-mail sunt lizibile de vmail numai:
# chown –R vmail: vmail / home / vmail.
Fișierele de configurare ar trebui să fie, de asemenea, lizibile de vmail și porumbar utilizatori:
Configurați Thunderbird ca client de e-mail pentru Postfix
Având acces securizat prin firewall pentru porturile utilizate în comunicațiile de e-mail, este timpul să configurați un client de e-mail. Folosind [e-mail protejat] și parola corespunzătoare, împreună cu mail.linuxnewz.com ca IMAP (sau POP3) și server SMTP, suntem pregătiți să începem să trimitem și să primim e-mailuri către și de la un astfel de cont:
Postfix: Configurați clientul Thunderbird
Puteți ignora în siguranță mesajul de avertizare afișat deoarece utilizați un certificat care nu este semnat de o autoritate terță de încredere:
Thunderbird: Adăugați o excepție de securitate
Să redactăm un scurt e-mail de testare și să facem clic pe Trimitere:
Compuneți un e-mail pe Thunderbird
Când vi se solicită să acceptați certificatul auto-semnat pentru serverul de ieșire, confirmați-l anterior ca înainte:
Thunderbird: acceptați certificatul SSL
În cele din urmă, accesați adresa de e-mail de destinație pentru a vedea dacă ați primit e-mailul care tocmai a fost trimis. Dacă da, răspundeți la acesta și vedeți dacă este livrat înapoi la căsuța de e-mail sursă (în caz contrar, consultați jurnalul Postfix la /var/log/maillog sau jurnalul Dovecot la /var/log/dovecot.log pentru informații de depanare):
Verificați livrarea de e-mail Postfix și Dovecot
Acum aveți un server de e-mail Postfix și Dovecot funcțional și puteți începe să trimiteți și să primiți e-mailuri.
rezumat
În acest articol am explicat cum să configurați Postfix și Dovecot pentru a gestiona traficul de e-mail de pe serverul dvs. Linux. Dacă ceva nu funcționează așa cum este indicat în acest articol, asigurați-vă că vă acordați timp pentru a verifica Postfix și Porumbar documentație.
Vă rugăm să rețineți că, deși configurarea unui server de poștă Postfix nu este o sarcină ușoară, este o experiență plină de satisfacții pentru fiecare administrator de sistem.
Dacă după ce treci prin documente, te găsești încă cu dificultăți Postfix și / sau Porumbar, nu ezitați să ne trimiteți o notă folosind formularul de comentarii de mai jos și vom fi bucuroși să vă ajutăm (nu uitați să încărcați într-un serviciu de stocare online configurația Postfix și Dovecot așa cum a fost recuperată folosind postconf și doveconf așa cum este subliniat în acest articol).