[Docker] Sendmail

vendredi 30 novembre 2018

Nous allons voir ici comment configurer sendmail pour accepter l’envoi des mails vers l’extérieur:

Voici mon fichier docker-compose pour configurer sendmail:

sendmail:
    image: sendmail:v1.1
    container_name: sendmail
    hostname: sendmail
    restart: always
    ports:
     - 1025:25
    volumes:
     - ${EXTERNALPATH}/sendmail/mail:/etc/mail/

Maintenant, une fois notre container en place, il faut configurer le sendmail afin de pouvoir envoyer des mails vers l’extérieur sans avoir des erreurs de « delay denied ».

Etape 1. Ajouter les hostnames qui se connecterons sur le serveur de mail pour envoyé les emails:

nano /etc/mail/local-host-names
localhost
b18b9cafe0e0
buildbot
gerrit

Ici c’est un exemple de plusieurs containers docker qui gèrent l’intégration continue pour le déploiement d’applications avec buildbot et gerrit comme code review/

Donc, j’ai juste rajouter les hostnames de chaque container qui aurait besoin d’envoyer des emails via mon serveur smtp sendmail.

Etape 2. On ajoute aussi le nom de domaine des mails destinataires comme relay pour accepter l’envoi de ces emails.

Par défaut sendmail maintenant a un filtre antispam et refuse d’envoyer les mails à tout le monde.

nano /etc/mail/relay-domains

On ajoute juste le nom de domaine des emails destinataires.

En cliquant ici, vous trouverez un excellent tutoriel qui explique comment tester et s’assurer que les maisl envoyés depuis notre serveur ne seront pas dans les spams. Ce tutoriel configure l’enregistrement SPF du dns permettant d’identifier le serveur qui envoi les emails de notre site internet et aussi l’enregistrement DKIM qui permet de configurer clé public et privé du serveur qui envoie les emails pour notre nom de domaine.

Tags: Docker , docker-compose , sendmail