Vous devez activer TLS
dans le client SMTP de Postfix, puisque Google l'exige. Ceci est indiqué par eux dans le message Must issue a STARTTLS command
.
En /etc/postfix/main.cf
, vous voulez quelque chose comme ça :
smtp_tls_policy_maps = hash:/etc/postfix/tls_policy
puis en /etc/postfix/tls_policy
:
[smtp.gmail.com]:587 encrypt
Le côté gauche en tls_policy
doit apparaître exactement comme votre entrée relayhost dans main.cf
.
N'oubliez pas d'exécuter postmap
le /etc/postfix/tls_policy
après l'avoir créé ou modifié selon les besoins.
Vous pouvez trouver plus de détails dans la documentation TLS de Postfix.
Reportez-vous à ces liens
http://blog.bigdinosaur.org/postfix-gmail-and-you/
http://www.postfix.org/TLS_README.html#client_tls
Voici la procédure que j'utilise pour cela :
sudo apt-get install postfix.
S'il vous demande quel type de serveur de messagerie vous êtes installé, choisissez aucune configuration (la première option)
sudo nano /etc/postfix/main.cf
et collez-le dans
# 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
Enregistrez le fichier, maintenant nous créons le fichier avec le nom d'utilisateur et le mot de passe dans
sudo nano /etc/postfix/sasl_passwd
et collez ce qui suit en faisant les remplacements nécessaires
[smtp.gmail.com]:587 [email protected]:password
Enregistrez-le et à l'invite de commande
sudo postmap /etc/postfix/sasl_passwd
Alors
chmod 600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
Enfin,
sudo service postfix restart
Notez qu'une fois que vous avez testé avec succès le système de messagerie, vous pouvez supprimer / masquer le mot de passe dans sasl_passwd.
Testez-le avec votre application. Si vous avez des problèmes, vérifiez /var/log/mail.logVous pouvez apt-get install mail-utils pour qu'il installe un programme de messagerie. vous pouvez ensuite tester avec
echo “this is a test” | mailx -s “This is the subject” [email protected]
Enfin
Exécuter
newaliases
pour créer un fichier /etc/aliases.db. Si vous ne le faites pas, il enregistrera beaucoup d'erreurs à ce sujet dans /var/log/mail.errSi vous obtenez des erreurs SASL (postfix)Vérifiez que le nom d'hôte est dans /etc/hosts et /etc/hostnameSi postfix se plaint de ne pas pouvoir pour relayer un hôte / une adresse IP donnés (postfix)Ajoutez ceci à /etc/postfix/main.cf
mynetworks = 10.0.0.0/8
Cela permettra à toute personne disposant d'une adresse 10.0.0.0 de se connecter, évidemment vous devriez verrouiller cela autant que possible, soit en restreignant le réseau, et/ou en utilisant n'importe quel pare-feu ou politique de sécurité à votre disposition