Google Cloud travaille avec Mailgun pour fournir un service de messagerie doté d'une API programmatique, ainsi que de la conservation des journaux, de la personnalisation des e-mails, de l'analyse et de la validation des e-mails.
Les instructions suivantes vous montrent comment configurer Mailgun en tant que relais de messagerie avec Postfix.
Avant de commencer
Inscrivez-vous et créez un compte Mailgun sur Google Cloud Marketplace.
Obtenez vos identifiants. Pour utiliser le service, vous devez connaître votre nom d'utilisateur, votre mot de passe et votre nom d'hôte SMTP Mailgun. Vous trouverez votre nom d'utilisateur et votre mot de passe dans la section Domaines du panneau de configuration Mailgun.
Suivant la configuration du domaine dans Mailgun, le nom d'hôte SMTP est
smtp.mailgun.org
ousmtp.eu.mailgun.org
.Configurez vos règles de pare-feu pour autoriser le trafic sortant sur le port TCP
2525
.
Configurer Mailgun en tant que relais de messagerie avec Postfix
Si vous configurez Mailgun en tant que relais de messagerie, l'agent de transfert Postfix peut transférer les e-mails destinés à être distribués à distance.
Connectez-vous à votre instance via SSH.
gcloud compute ssh [INSTANCE_NAME]
où
[INSTANCE_NAME]
correspond au nom de l'instance de VM à partir de laquelle vous voulez envoyer un e-mail.Devenez un super-utilisateur et définissez un attribut "umask" sécurisé :
user@test-instance:~$ sudo su -
root@test-instance:~# umask 077
Installez l'agent de transfert de messages Postfix.
Debian
root@test-instance:~# apt update && apt -y install postfix libsasl2-modules
CentOS
root@test-instance:~# yum install postfix cyrus-sasl-plain cyrus-sasl-md5 -y
Lorsque vous y êtes invité, sélectionnez la configuration
Local Only
et acceptez les choix par défaut pour les noms de domaine.Modifiez les options de configuration de Postfix. Elles sont définies dans le fichier
main.cf
. Ouvrez ce dernier avec l'éditeur de texte de votre choix.root@test-instance:~# vi /etc/postfix/main.cf
Si les lignes suivantes existent, passez-les en commentaire :
# default_transport = error # relay_transport = error
Ajoutez le service SMTP Mailgun. Pour ce faire, ajoutez la ligne suivante à la fin du fichier :
relayhost = [smtp.mailgun.org]:2525
Pour appliquer la compatibilité des protocoles SSL/TLS et configurer l'authentification SMTP pour ces requêtes, ajoutez les lignes suivantes à la fin du fichier : Un module de couche de sécurité et d'authentification simple (SASL, Simple Authentication and Security Layer) gère l'authentification dans la configuration de Postfix.
smtp_tls_security_level = encrypt smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous
Enregistrez les modifications et fermez le fichier.
Générez la carte de mot de passe SASL.
Créez un fichier de mot de passe prêt à recevoir une entrée standard.
root@test-instance:~# cat > /etc/postfix/sasl_passwd << EOF
Lorsque vous y êtes invité, saisissez les détails du service en remplaçant
YOUR_SMTP_LOGIN
etYOUR_SMTP_PASSWORD
par vos identifiants. Consultez l'aide de Mailgun pour savoir comment afficher ou modifier vos identifiants par domaine.> [smtp.mailgun.org]:2525 YOUR_SMTP_LOGIN:YOUR_SMTP_PASSWORD
Fermez et enregistrez le fichier en saisissant le délimiteur
EOF
.> EOF
Avec l'utilitaire
postmap
, générez un fichier.db
.root@test-instance:~# postmap /etc/postfix/sasl_passwd
root@test-instance:~# ls -l /etc/postfix/sasl_passwd* -rw------- 1 root root 68 Jun 1 10:50 /etc/postfix/sasl_passwd -rw------- 1 root root 12288 Jun 1 10:51 /etc/postfix/sasl_passwd.db
Ensuite, supprimez le fichier contenant vos identifiants, car il n'est plus nécessaire.
root@test-instance:~# rm /etc/postfix/sasl_passwd
Définissez les autorisations sur le fichier
.db
.root@test-instance:~# chmod 600 /etc/postfix/sasl_passwd.db
root@test-instance:~# ls -la /etc/postfix/sasl_passwd.db -rw------- 1 root root 12288 Aug 31 18:51 /etc/postfix/sasl_passwd.db
Enfin, actualisez votre configuration pour charger les paramètres modifiés.
Debian
root@test-wheezy:~# /etc/init.d/postfix restart
CentOS
[root@test-centos ~]# postfix reload
Testez la configuration. Installez le package
mailx
oumailutils
, puis testez votre configuration.Debian
root@test-wheezy:~# apt -y install mailutils
CentOS
[root@test-centos ~]# yum install mailx -y
Envoyez un message de test.
root@test-instance:~# echo 'Test passed.' | mail -s 'Test-Email' EMAIL@EXAMPLE.COM
Dans vos journaux système, recherchez une ligne d'état contenant
status
et le code de réponse du serveur indiquant le succès de l'opération ((250)
).Debian
root@test-wheezy:~# tail -n 5 /var/log/syslog
CentOS
[root@test-centos ~]# tail -n 5 /var/log/maillog
Pour obtenir des informations et des exemples détaillés sur d'autres thèmes, y compris sur le suivi et l'acheminement des messages, consultez la documentation de Mailgun.
Découvrez des architectures de référence, des schémas et des bonnes pratiques concernant Google Cloud. Consultez notre Centre d'architecture cloud.