Pentru a utiliza un daemon special de curățare numai pentru e-mailurile trimise, am definit un proces smtpd special în maestru.cf
care este folosit ca implicit_transport
. (Numai Postfix ar trebui să poată trimite e-mailuri prin acest demon!)
127.0.0.1:10027 inet n - - - - smtpd
-o syslog_name=postfix-smtpout
-o cleanup_service_name=srscleanup
-o smtpd_tls_security_level=niciunul
-o content_filter=smtp:
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o smtpd_sender_restrictions=permis
Acest lucru funcționează bine. Cu toate acestea, este deschis oricărui utilizator/proces local de pe mașina care se conectează la acest port și trimite e-mail fără autentificare (din cauza restricțiilor relaxate de expeditor/destinatar), ceea ce nu este foarte sigur.
Prin urmare, aș dori să conduc această specială smtpd
ca un socket de domeniu Unix (pe care doar procesele care rulează sub utilizatorul postfix îl pot accesa).
am setat default_transport = smtpout
și a creat un serviciu în maestru.cf
ca aceasta:
smtpout unix - - - - - smtpd
-o syslog_name=postfix-smtpout
-o cleanup_service_name=srscleanup
-o smtpd_tls_security_level=niciunul
-o content_filter=smtp:
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o smtpd_sender_restrictions=permis
Cu toate acestea, acest lucru duce la blocarea e-mailurilor în coadă și a mesajelor de înregistrare ca acesta: avertisment: sfârșit neașteptat de intrare de la soclul privat/smtpout în timpul citirii numelui atributului de intrare
.
Cum pot remedia acest lucru și să folosesc un proces smtpd legat la un socket de domeniu Unix (în loc să le leg la inet)?