Devi abilitare TLS
nel client SMTP di Postfix, poiché Google lo richiede. Questo è indicato da loro nel messaggio Must issue a STARTTLS command
.
In /etc/postfix/main.cf
, vuoi qualcosa di simile a questo:
smtp_tls_policy_maps = hash:/etc/postfix/tls_policy
e poi in /etc/postfix/tls_policy
:
[smtp.gmail.com]:587 encrypt
Il lato sinistro in tls_policy
deve apparire esattamente uguale alla voce relayhost in main.cf
.
Ricorda di eseguire postmap
il /etc/postfix/tls_policy
dopo averlo creato o modificato come richiesto.
Puoi trovare maggiori dettagli nella documentazione TLS di Postfix.
Fai riferimento a questi link
http://blog.bigdinosaur.org/postfix-gmail-and-you/
http://www.postfix.org/TLS_README.html#client_tls
Questa è la procedura che uso per questo:
sudo apt-get install postfix.
Se ti chiede che tipo di server di posta hai installato, scegli nessuna configurazione (la prima opzione)
sudo nano /etc/postfix/main.cf
e incollalo
# See /usr/share/postfix/main.cf.dist for a commented, more complete version
# Debian specific: Specifying a file name will cause the first
# line of that file to be used as the name. The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname
# listen on localhost only
inet_interfaces = 127.0.0.1
smtpd_banner = $myhostname ESMTP $mail_name
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
#Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
Salva il file, ora creiamo il file con il nome utente e la password in
sudo nano /etc/postfix/sasl_passwd
e incolla quanto segue effettuando le sostituzioni richieste
[smtp.gmail.com]:587 [email protected]:password
Salvalo e al prompt dei comandi
sudo postmap /etc/postfix/sasl_passwd
Allora
chmod 600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
Infine,
sudo service postfix restart
Tieni presente che una volta testato con successo il sistema di posta elettronica, puoi rimuovere/offuscare la password in sasl_passwd.
Provalo con la tua applicazione. Se hai problemi, controlla /var/log/mail.log Puoi apt-get install mail-utils per fare in modo che installi un programma di posta. puoi quindi testare con
echo “this is a test” | mailx -s “This is the subject” [email protected]
Finalmente
Esegui
newaliases
per creare un file /etc/aliases.db. In caso contrario, verranno registrati molti errori a riguardo in /var/log/mail.errSe ricevi errori SASL (postfix)Controlla che il nome host sia in /etc/hosts e /etc/hostnameSe postfix si lamenta di non essere in grado per inoltrare per un dato host / indirizzo IP (postfix)Aggiungi questo a /etc/postfix/main.cf
mynetworks = 10.0.0.0/8
Ciò consentirà a chiunque disponga di un indirizzo 10.0.0.0 di connettersi, ovviamente dovresti bloccarlo il più possibile, limitando la rete e/o utilizzando qualsiasi firewall o politica di sicurezza a tua disposizione