Skip to content

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.com par 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.mc si 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.