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.orgousmtp.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 077Installez l'agent de transfert de messages Postfix.
Debian
root@test-instance:~# apt update && apt -y install postfix libsasl2-modulesCentOS
root@test-instance:~# yum install postfix cyrus-sasl-plain cyrus-sasl-md5 -yLorsque vous y êtes invité, sélectionnez la configuration
Local Onlyet 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.cfSi les lignes suivantes existent, passez-les en commentaire :
# default_transport = error # relay_transport = errorAjoutez le service SMTP Mailgun. Pour ce faire, ajoutez la ligne suivante à la fin du fichier :
relayhost = [smtp.mailgun.org]:2525Pour 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 = noanonymousEnregistrez 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 << EOFLorsque vous y êtes invité, saisissez les détails du service en remplaçant
YOUR_SMTP_LOGINetYOUR_SMTP_PASSWORDpar 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_PASSWORDFermez 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_passwdroot@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_passwdDéfinissez les autorisations sur le fichier
.db.root@test-instance:~# chmod 600 /etc/postfix/sasl_passwd.dbroot@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 restartCentOS
[root@test-centos ~]# postfix reloadTestez la configuration. Installez le package
mailxoumailutils, puis testez votre configuration.Debian
root@test-wheezy:~# apt -y install mailutilsCentOS
[root@test-centos ~]# yum install mailx -yEnvoyez un message de test.
root@test-instance:~# echo 'Test passed.' | mail -s 'Test-Email' EMAIL@EXAMPLE.COMDans vos journaux système, recherchez une ligne d'état contenant
statuset 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/syslogCentOS
[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 Cloud Architecture Center.