Quelques astuces pour se (me) dépanner.
Quand on reçoit ça :
UNDELIVERABLE MAIL Your message to the following recipients cannot be delivered: <toto@adresse.com>: mailserver.domain.com [123.45.67.89]: >>> RCPT TO:<toto@adresse.com> <<< 504 <blip>: Helo command rejected: need fully-qualified hostname
Il faut lire le man de courier :
esmtphelo This file contains one line of text, what Courier calls itself in the EHLO or HELO command sent to a remote SMTP server. me is used if this file does not exist.
donc ajouter dans /etc/courier/esmtphelo blip.mondomaine.com
Installer pythonfilter
Récupérer et décompresser la dernière version de l’archive, par ex:
cd http://phantom.dragonsdawn.net/~gordon/courier-patches/courier-pythonfilter/courier-pythonfilter-1.6.tar.gz tar xvfz courier-pythonfilter-1.6.tar.gz cd courier-pythonfilter-1.6 python setup.py install ln -sf /usr/bin/pythonfilter /usr/lib/courier/filters filterctl stop pythonfilter filterctl start pythonfilter
Il faut ensuite configurer /etc/pythonfilter.conf
Délai de 30 secondes – Nagios n’aime pas
Dans /etc/courier/esmtpd ajouter l’option -noidentlookup à TCPDOPTS :
TCPDOPTS="-stderrlogger=/usr/sbin/courierlogger -noidentlookup"
456 Address temporarily unavailable
Effacer les fichiers situés dans :
/var/lib/courier/track
Permissions pour vmail
La table passwd dans postgres:mail contient des colonnes uid et gid qui correspondent à l’utilisateur vmail et son groupe. En cas de changement de machine, penser à modifier les uid/gid.
Activer le démon ESMTPD-MSA
Par défaut, et pour une raison assez conne à mon goût, le démon n’est pas activé :
# The default setting is going to be NO, until Courier is shipped by default # with enough platforms so that people get annoyed with having to flip it to # YES every time.
Donc il suffit de mettre :
ESMTPDSTART=YES
Dans /etc/courier/esmtpd-msa
courier ne veut pas expédier de mail : 535 Authentication required
Dans /etc/courier/esmtpd
il faut définir (au moins) une méthode d’authentification :
ESMTPAUTH="LOGIN PLAIN"
Et penser à redémarrer courier-mta
et courier-mta-ssl
.
courierfilter: Couldn’t load python support for reading /etc/courier/smtpaccess.dat
apt-get install python-gdbm
courierfilter n’a pas l’air de démarrer
Vérifier les droits sur /etc/courier/filters/active
:
sudo -u daemon /etc/courier/filters/active/pythonfilter
doit fonctionner.
Nettoyer la file d’attente
La commande mailq
accepte le paramètre -batch qui sort une ligne par message. Avec un peu de ligne de commande, on peut nettoyer assez facilement :
Compter le nombre de mails en attente :
mailq -batch | wc -l
Trouver les mails qui concernent quelqu’un en particulier :
mailq -batch | grep untel
2.5K ;00000000063108B1.0000000056AEC1C2.00001AFD;Feb 01 03:24;daemon;;;untel@example.com;
2.5K ;0000000006300F15.0000000056AD6CBE.00009417;Jan 31 03:09;daemon;;;untel@example.com;
Le second paramètre est l’ID du message qu’on peut utiliser avec cancelmsg
ou courier flush
.
Pour envoyer certains mails en priorité :
mailq -batch | grep untel | cut -d ';' -f 2 | xargs -n 1 courier flush
Pour supprimer des mails qui sont en erreur (et bloquent la file d’attente) :
mailq -batch | grep '#@\[\]' | cut -d ';' -f 2 |xargs -n 1 cancelmsg
Ping : courier-mta : Installation | GoSane