... ou à la fin de son mail (je sais c'est pas ça la chanson).
Et comme il est fainéant, il aimerait bien que ce soit automatique. Enfin surtout ses copains (qui sont pires que lui).
Si vous avez suivi vous avez vu que je découvre Postfix et son monde merveilleux. Ainsi j'ai découvert (bin oui puisque je découvre) que dans ce contexte là, quand on parle de signature, on en revient souvent à altermime.
J'ai donc mis en place cet outil plutôt sympa grâce à tous les supers tutoriaux qu'on trouve sur le net. Ma maigre contribution de cette fin d'année sera de vous donner le script qui permet d'avoir :
- un mécanisme simple pour gérer les signatures user par user
- un mécanisme simple pour gérer un disclaimer générique à un domaine
- un mécanisme, je vous le donne en mille, simple, pour ne pas bégayer (signature en double etc)
Voilà le bousin :
#!/bin/sh
ALTERMIME=/usr/bin/altermime
ALTERMIME_DIR=/var/spool/altermime
SENDMAIL=/usr/sbin/sendmail
TEMPFAIL=75
UNAVAILABLE=69
cd $ALTERMIME_DIR || { echo $ALTERMIME_DIR does not exist; exit $TEMPFAIL; }
trap "rm -f in.$$" 0 1 2 3 15
cat >in.$$ || { echo Cannot write to $ALTERMIME_DIR; exit $TEMPFAIL; }
# d'abord on teste le mail pour voir si on n'a pas déjà rajouté le disclaimer
processed=`grep -m 1 "X-Disclaimer: yes" in.$$`
if [ -z "$processed" ]; then
from_address=`grep -m 1 "From:" in.$$ | cut -d '<' -f 2 | cut -d '>' -f 1 | tr '@' '_'`
from_domain=`grep -m 1 "From:" in.$$ | cut -d '@' -f 2 | cut -d '>' -f 1`
signature_file="/etc/postfix/altermime/signatures/$from_address"
disclaimer_file="/etc/postfix/altermime/disclaimers/$from_domain"
# on cherche si on a une signature pour cet expéditeur
if [ -e ${signature_file}.txt -a -e ${signature_file}.html ]; then
$ALTERMIME --input=in.$$ \
--disclaimer=${signature_file}.txt \
--disclaimer-html=${signature_file}.html \
--xheader="X-Disclaimer: yes" || \
{ echo Message content rejected; exit $EX_UNAVAILABLE; }
fi
# puis si on a un disclaimer générique pour son domaine
if [ -e ${disclaimer_file}.txt -a -e ${disclaimer_file}.html ]; then
$ALTERMIME --input=in.$$ \
--disclaimer=${disclaimer_file}.txt \
--disclaimer-html=${disclaimer_file}.html \
--xheader="X-Disclaimer: yes" || \
{ echo Message content rejected; exit $EX_UNAVAILABLE; }
fi
fi
$SENDMAIL "$@" <in.$$
exit $?
Si vous vous intéressez un peu au sujet vous verrez qu'une grosse partie de ce script se trouve sur quasiment toutes les pages qui parlent d'altermime, je remercie donc son auteur initial.
En ce qui concerne mes ajouts :
- pour les signatures il suffit de rajouter des fichiers utilisateur_domaine.tld.{txt,html} dans /etc/postfix/altermime/signatures avec dedans ce qui va bien
- pour les disclaimers génériques, dans /etc/postfix/altermime/disclaimers des fichiers domaine.tld.{txt,html} selon la même philosophie
- pour l'anti bégaiement (qui se produit rarement mais dans des cas de redirection entre domaines), un simple X-Header
Voilà, je pense que c'est à peu près tout !
