Skip to content

Documentation du service MAIL

vbrichant edited this page Jun 7, 2022 · 11 revisions

Organisation des configurations

Les fichiers de configuration du service Mail se trouvent ici.

Ils sont répartit dans 4 dossier comportant chaqu'un le nom du service concerné. Ces 4 dossiers sont contenu dans le dossier "config"

Postfix:

  • main.cf
  • master.cf
  • generic
  • vmailbox
  • mysql-virtual-mailbox-domains.cf
  • mysql-virtual-mailbox-maps.cf

Dovecot:

  • 10-auth.conf
  • 10-mail.conf
  • 10-ssl.conf
  • 20-lmtp.conf
  • 10-master.conf
  • 10-logging.conf
  • auth-sql.conf.ext
  • default.sieve
  • dovecot.conf
  • dovecot-sql.conf.ext

SQL:

  • create-db.sql script permettant de créer la DB et les tables
  • create-table.sql script permettant de remplir les tables de la DB

Spamassassin:

  • spamassassin : fichier de configuration principal de spamassassin lui permettant d'être actif
  • local.cf : ficher permettant de configurer le niveau de filtre

Maintenance

Procédure pour mettre à jour le(s) logiciel(s) serveur

  1. Stopper le service en question service XXX stop

  2. Mettre à jour le service

Mettre à jour Postfix : sudo apt-get upgrade postfix postfix-mysql

Mettre à jour Dovecot : sudo apt-get upgrade dovecot-core dovecot-imapd dovecot-mysql dovecot-sieve dovecot-managesieved

Mettre à jour Mariadb : sudo apt-get upgrade mariadb-server

Mettre à jour Spamassassin : sudo apt-get upgrade spamassassin spamc

  1. redémarrer les différents services mis à jours service XXX start

Note : Si par exemple on ne veux mettre à jour que dovecot-imapd -> sudo apt-get upgrade dovecot-imapd

Procédure en cas d'ajout d'un nouvel utilisateur

  1. Connection à mysql : mysql -u mailUser -p
  2. Entrer le password de l'utilisateur mailUser
  3. utiliser la commande :
INSERT INTO `virtual_users`
(`domain_id`, `password` , `email`, `maildir`)
VALUES
('[domaine]', ENCRYPT('[password]', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))), '[nom.prénom]@l1-4.ephec-ti.be', 'l1-4.ephec-ti.be/[nom.prénom]/');
  1. Ajouter le bloc de code suivant au fichier create_table.sql
INSERT INTO `mail`.`virtual_users`
(`id`, `domain_id`, `password` , `email`, `maildir`)
VALUES
('[id]', '[domaine]', ENCRYPT('[password]', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))), '[nom.prénom]@l1-4.ephec-ti.be', 'l1-4.ephec-ti.be/[nom.prénom]/');

Note : les valeurs entre les crochet sont à remplacer par des valeurs adéquate

Procédure en cas de départ d'un employé

  1. Connection à mysql : mysql -u mailUser -p
  2. Entrer le password de l'utilisateur mailUser
  3. utiliser la commande :
Delete FROM `virtual_users` WHERE email='[nom.prenom]@l1-4.ephec-ti.be';
  1. Supprimer du serveur le dossier mailbox de l'employé :
rm -r var/mail/vhost/l1-4.ephec-ti.be/[nom.prénom]
  1. Modifier le fichier create_table.sql afin que l'adresse ne soit pas recréé en cas de recréation de la DB/table

Note : les valeurs entre les crochet sont à remplacer par des valeurs adéquate


Troubleshooting

Procédures et collecte d'information

En cas de dysfonctionnement, voici les éléments à observer pour trouver des informations de debug :

  • Chemin pour accèder au logs :

Postfix : var/log/postfix.log

Dovecot : var/log/dovecot.log var/log/dovecot-debug.log var/log/dovecot-info.log

Spamassassin : var/log/spamassassin/spamd.log

  • Procédure de test 1 : Vérifier le statuts des service service [nom_du_service] status

  • Procédure de test 2 : Vérifier les record DNS correspondant au service mail

dig MX l1-4.ephec-ti.be Retour attendu : l1-4.ephec-ti.be. 0 IN MX 10 mail.l1-4.ephec-ti.be.

dig mail.l1-4.ephec-ti.be Retour attendu : mail.l1-4.ephec-ti.be. 0 IN A 176.96.231.164

dig smtp.l1-4.ephec-ti.be Retour attendu : smtp.l1-4.ephec-ti.be. 0 IN A 176.96.231.164

  • Procédure de test 3 : Vérifier que les port 25 143 583 et 993 sont bien ouvert et écoute netstat -nltp

  • Procédure de test 4 : Utiliser mxtoolbox pour tester notre serveur

  • Procédure de test 5 : Utiliser telnet pour tester la connexion au service

telnet localhost 143`
a1 LOGIN [nom.prénom]@l1-4.ephec-ti.be [password]
a2 LOGOUT
telnet localhost 25
EHLO mail.l1-4.ephec-ti.be

Erreurs fréquentes

  • Vérifier la bonne syntaxe à utiliser dans les fichiers (ainsi que l'orthographe)
  • Toujours redémarrer le service après avoir fait une modification dans la congifuration d'un service(pour le Dockerfile)
  • Les fichier de Dovecot se mettent à l'emplacement /etc/dovecot/conf.d/ et non à l'emplacement etc/dovecot/
  • Il faut modifier les fichier main.cf(postfix) et 10-ssl.conf pour utiliser le bon certificat (letsencrypt et pas openssl)
  • Il faut activer spamassassin dans le fichier master.cf (postfix) pour qu'il soit pris en compte.
  • Il faut obtenir un certificat qui n'est pas auto-signé pou pouvoir contacter une adresse extérieure au domaine
  • Il faut vérifier si l'adresse IP utilisée n'est pas dans une blacklist (par exemple avec MXtoolbox) aussi non les serveur SMTP d'autre domaines rejette automatiquement les email envoyé.

Clone this wiki locally