Envoyer des e-mails avec Mailgun

Mailgun est un service de messagerie tiers qui permet aux utilisateurs de Compute Engine d'envoyer jusqu'à 10 000 e-mails gratuits par mois. Mailgun propose également une API programmatique, ainsi que des fonctionnalités de conservation des journaux, de personnalisation des e-mails, d'analyse, de validation des e-mails et bien plus.

Suivez les instructions ci-dessous pour vous inscrire à Mailgun et commencer à utiliser ce service.

Avant de commencer

  1. Créez un compte Mailgun sur la page des partenaires Google de Mailgun*. En tant qu'utilisateur de Compute Engine, vos 10 000 premiers messages par mois sont gratuits. Consultez le simulateur de coût mensuel Mailgun pour découvrir le tarif des messages supplémentaires et en savoir plus sur les remises proportionnelles au volume.

  2. 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.

    Le nom d'hôte SMTP Mailgun est smtp.mailgun.org.

  3. Configurez vos règles de pare-feu pour autoriser le trafic sortant sur le port TCP 2525.

* Google sera rémunéré pour les clients créant un compte payant.

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.

  1. Connectez-vous à votre instance via SSH.

    gcloud compute ssh [INSTANCE_NAME]
    

    [INSTANCE_NAME] est le nom de l'instance de VM à partir de laquelle vous souhaitez envoyer des e-mails.

  2. Devenez un super-utilisateur et définissez un attribut "umask" sécurisé :

    user@test-instance:~$ sudo su -
    
    root@test-instance:~# umask 077
    
  3. Installez l'agent de transfert de messages Postfix. Lorsque vous y êtes invité, acceptez les choix par défaut en matière de noms de domaine, mais sélectionnez la configuration Local Only.

    Debian


    root@test-instance:~# apt-get update && apt-get install postfix libsasl2-modules -y
    

    CentOS


    root@test-instance:~# yum install postfix cyrus-sasl-plain cyrus-sasl-md5 -y
    

  4. 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
    
  5. Si les lignes suivantes existent, passez-les en commentaire :

    # default_transport = error
    # relay_transport = error
    
  6. Ajoutez le service SMTP Mailgun. Pour ce faire, ajoutez la ligne suivante à la fin du fichier :

    relayhost = [smtp.mailgun.org]:2525
    
  7. Ajoutez ensuite les lignes suivantes pour appliquer la compatibilité des protocoles SSL/TLS et configurer l'authentification SMTP pour ces requêtes. 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. Ajoutez les lignes suivantes à la fin du fichier :

    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.

  8. Générez la carte de mot de passe SASL.

    1. Créez un fichier de mot de passe prêt à recevoir une entrée standard.

      root@test-instance:~# cat > /etc/postfix/sasl_passwd << EOF
      
    2. Lorsque vous y êtes invité, saisissez les détails du service en remplaçant YOUR_SMTP_LOGIN et YOUR_SMTP_PASSWORD par vos identifiants.

      > [smtp.mailgun.org]:2525 YOUR_SMTP_LOGIN:YOUR_SMTP_PASSWORD
      
    3. Fermez et enregistrez le fichier en saisissant le délimiteur EOF.

      > EOF
      
  9. 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
    
  10. Supprimez ensuite le fichier contenant vos identifiants, car il n'est plus nécessaire.

    root@test-instance:~# rm /etc/postfix/sasl_passwd
    
  11. 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
    
  12. 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
    

  13. Testez la configuration. Installez le package mailx ou mailutils, puis testez la configuration.

    Debian


    root@test-wheezy:~# apt-get install mailutils -y
    

    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 découvrir des exemples plus détaillés et en savoir plus sur d'autres sujets tels que le suivi et le routage des messages, consultez la documentation Mailgun.

Paramètres SMTP de Mailgun

Voici un récapitulatif des paramètres SMTP spécifiques à Mailgun qui permettent de configurer les clients :

  • Hôte : smtp.mailgun.org
  • Port : 2525

Testez d'autres fonctionnalités de Google Cloud Platform. Découvrez nos tutoriels.

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation Compute Engine