Mail¶
Commandes utiles existantes¶
- Compter le nombre d'envoi par adresse émetteur :
cat /var/log/maillog | grep "from=<.*>" | sed 's/.*from=<\([^>]*\)>.*/\1/' | sort | uniq -c | sort -n
- En cas d'impossibilité d’envoi, vérifier la présence de virtusertable.db sinon la générer :
makemap.sendmail hash /etc/mail/virtusertable.db </etc/mail/virtusertable
- Compter le nombre d'envoi par utilisateur authentifié :
cat /var/log/maillog | grep "authid=" | sed 's/.*authid=\([^,]*\),.*/\1/' | sort | uniq -c | sort -n
- Réinjecter les messages dans le spool :
sendmail -t -i </chemin/du/mail
- Lister les destinataires des mails envoyés par un site :
zcat /var/log/maillog-<DATE>.gz | grep 'stat=Sent' | grep 'mailer=esmtp' | grep 'ctladdr=<DOMAINE@MACHINE>' | grep 'Dec 4' | perl -pe 's/.*([0-9]{2}:[0-9]{2}:[0-9]{2}).*to=<?([^>\s,]+)>?.*stat=Sent.*/$1 $2/'
- Boucle pour suppression de mails selon une recherche grep :
# Sur l'en-tĂŞte :
for i in `grep -l "<USER>" qf*`; do
j=`echo $i | sed 's/qf/df/'`;
echo $i; echo $j; rm -f $i $j;
done
# Sur le contenu :
for i in `grep -l "mot interdit" df*`; do
j=`echo $i | sed 's/df/qf/'`;
echo $i; echo $j; rm -f $i $j;
done
- Tester un envoi de mail depuis Postfix :
echo "Test mail from postfix" | mail -s "Test Postfix" <NOM>@<DOMAIN.TLD>
Installation et configuration basique Postfix¶
Installation¶
apt update
apt install postfix mailutils
Pendant l’installation, choisissez le type "Internet Site" et renseignez le nom de domaine (ex: example.com).
Configuration minimale¶
Éditez /etc/postfix/main.cf pour vérifier ou ajouter :
myhostname = mail.example.com
myorigin = /etc/mailname
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
relayhost =
mynetworks = 127.0.0.0/8
inet_interfaces = all
-
Remplacez
example.compar votre domaine. -
Redémarrez Postfix pour appliquer les changements :
systemctl restart postfix
CrĂ©ation d'un utilisateur de test¶
adduser testuser
Test d'envoi d'un mail¶
Envoyez un mail localement avec :
echo "Ceci est un test de mail Postfix" | mail -s "Test Postfix" testuser@localhost
Ou vers une adresse externe valide :
echo "Ceci est un test de mail Postfix" | mail -s "Test Postfix" utilisateur@domaine.tld
Installation et configuration basique Sendmail¶
Installation¶
apt update
apt install sendmail mailutils
Configuration minimale¶
-
Généralement, Sendmail est prêt à l’emploi après installation.
-
Pour vérifier la configuration principale, éditez
/etc/mail/sendmail.mcsi besoin, puis générez la config :
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
systemctl restart sendmail
CrĂ©ation d’un utilisateur de test¶
adduser testuser
Test d’envoi d’un mail¶
Envoyez un mail localement :
echo "Ceci est un test de mail Sendmail" | mail -s "Test Sendmail" testuser@localhost
Ou vers une adresse externe :
echo "Ceci est un test de mail Sendmail" | mail -s "Test Sendmail" utilisateur@domaine.tld
Notes complĂ©mentaires¶
- Vérifiez les logs pour diagnostic :
tail -f /var/log/mail.log
- Pour des configurations avancées (authentification SMTP, relais, TLS…), consultez la documentation officielle.