-
Notifications
You must be signed in to change notification settings - Fork 0
Documentation Mail
Les fichiers de configurations pour postfix se trouve dans le répertoire /etc/postfix
- /etc/postfix/main.cf est le fichier important pour la configuration smtp de notre service mail. Toutes modifications et ajout de paramètre se feront dedans.
Les fichiers de configurations pour dovecot se trouve dans le répertoire /etc/dovecot
- /etc/dovecot/dovecot.conf contient les éléments de configurations de base du service.
- /etc/dovecot/10-mail.conf contient la configurations pour la réception des mails.
- /etc/dovecot/10-auth.conf contient les configurations d'authentifaction au service.
- /etc/dovecot/dovecot-sql.conf.ext contient la configurations permettant la connexion à une base de données.
Pour lancer le serveur il nous faut d'abord créer une image d'un Dockerfile contenant l'installation des services dovecot et postfix ainsi que la copie des fichiers de configurations adapté à notre besoin. Nous utiliserons ensuite cette image dans un container.
Pour construire le container:
docker build -t nomImage:latest ./
Pour lancer le container:
sudo docker run -itd --name=nomContainer -h containerHostName -p 25:25 -p 587:587 -p 465:465 -p 110:110 -p 995:995 -p 143:143 -p 993:993 nomImage:latest
Pour modifier la configuration du service mail, il faudra d'abord stop le container et le supprimer. Une fois les modifications faites sur les fichiers de configurations, vous devrez refaire la procédure pour lancer le serveur afin de mettre à jour l'image déjà créée puis relancer un container avec la nouvelle version de l'image.
Pour stop le container:
docker stop nomContainer
Pour supprimer le container:
docker container rm nomContainer
Pour construire le container:
docker build -t nomImage:latest ./
Pour lancer le container:
sudo docker run -itd --name=nomContainer -h containerHostName -p 25:25 -p 587:587 -p 465:465 -p 110:110 -p 995:995 -p 143:143 -p 993:993 nomImage:latest
Pour mettre à jour postfix il faudra:
Stop le service:
service postfix stop
Télécharger les listes de packages à partir des référentiels:
apt-get update
Mettre à jour le packages postfix:
apt-get upgrade postfix
Relancer le service:
service postfix start
Pour mettre à jour dovecot il faudra:
Stop le service:
service dovecot stop
Télécharger les listes de packages à partir des référentiels:
apt-get update
Mettre à jour le packages dovecot:
apt-get upgrade dovecot
Relancer le service:
service dovecot start
Soit modifier les fichiers dans le container
Pour rentrer dans le container:
docker exec -ti nomContainer bash
Modifier les fichiers de configurations:
nano /CheminFichier/nomDuFichier
Sortir du container:
exit
Relancer le container pour prendre en compte les modifications demandant un redémarrage:
docker restart nomContainer
Soit modifier les fichiers sur le vps
Modifier les fichiers de configurations:
nano /CheminFichier/nomDuFichier
Recréer le container avec les nouvelles modifications
Procédure lancement de serveur
Pour stop le container:
docker stop nomContainer
Pour supprimer le container:
docker container rm nomContainer
Ajouter l'adresse mail dans le fichier virtual:
nano /cheminVersVirtual/virtual
Relancer le container du mail:
Suivre l'étape lancement de container
Que ce soit pour postfix ou dovecot, un fichier reprenant la totalité des logs existe pour chacun des deux services.
Pour lire le fichier nous allons souvent utiliser "tail /var/log/mail.info" afin de seulement les 10 dernières entrées du fichier de logs. Question de lisibilité.
Fichier logs = /var/log/mail.info
Fichier logs = /var/log/dovecot.log
-
Mailq indique
connect to alt2.gmail-smtp-in.l.google.com[2404:6800:4003:c01::1a]:25: Network is unreachable
Ce genre d'erreur peut apparaitre lorsque vous essayez d'envoyer un mail depuis un ordinateur via le port 25 d'un serveur mail. Le problème vient d'un blocage prévu par les fournisseurs d'accès internet (FAI) pour empêcher l'émission de spam via les connexions ADSL de leurs client. Un moyen de contourner l'erreur, serait de passer par le serveur mail par défaut du FAI, le second est celui le plus fréquemment utilisé dans notre situation. Il consiste à se connecter via le port 587 pour smtp ou via le port 465 pour smtps. 587 étant un port par défaut pour smtp, il faut seulement faire en sorte qu'il écoute.
Pour cela, lors de la création du container mail, il est important de spécifier les ports à écouté. Voici la commande:
sudo docker run -itd --name=mail -h l1-5.ephec-ti.be -p 587:587 -p 465:465 -p 110:110 -p 995:995 -p 143:143 -p 993:993 mail:latest
Attention : Les ports supplémentaires sont ceux par défauts pour imap et pop -
Dans le cas ou il vous est impossible de vous connecter à postfix, lors d'un telnet sur le port 587 par exemple "
telnet: Unable to connect to remote host: Connection refused", que la commandeecho "text" | mail -s "text" addresse@mail.comne retourne aucune ereur et que dans la mailq il est indiqué "postqueue: fatal: Queue report unavailable - mail system is down"
Il est possible que cela soit à cause du fait que postfix ne soit pas start. Il se peut que postfix ne se lance pas lors de la création du container, on peut le vérifier par:
sudo postfix status
Si le retour de cette commande correspond à:
postfix/postfix-script: the Postfix mail system is not running
Alors en effet postfix n'est pas en marche. Il vous suffit de faire la commande suivante afin de le lancer:
sudo postfix start