diff --git a/HowtoPostfix.md b/HowtoPostfix.md index 3e1611bf..a34b1621 100644 --- a/HowtoPostfix.md +++ b/HowtoPostfix.md @@ -669,3 +669,78 @@ Pour plus de détails, lire ### Relai vers Mailjet selon l'expéditeur Voir leur documentation : + +### .forward + +De façon similaire aux fichiers `.htaccess` pour Apache, un utilisateur UNIX peut créer un fichier `.forward` à la racine de son home-directory pour faire passer tous ses emails reçus dans une moulinette : renvoi automatique vers une autre adresse, traitement via Procmail, envoi d'un message d'absence, etc. Attention, cela ne fonctionne que pour Postfix en mode local, cela ne fonctionne pas en mode virtual. + +Pour ré-envoyer tous les emails vers une autre adresse `jdoe@example.com` on mettra simplement : + +~~~ +$ cat ~/.forward + +jdoe@example.com +~~~ + +Pour envoyer tous les emails vers une autre adresse MAIS garder une copie sur sa boîte `foo` : + +~~~ +$ whoami +foo +$ cat ~/.forward + +\foo,jdoe@example.com +~~~ + +Pour faire traiter tous ses emails reçus par le logiciel Procmail : + +~~~ +$ cat ~/.forward + +"| IFS=' ' && exec /usr/bin/procmail -f- || exit 75" +~~~ + +Pour envoyer un message d'absence en gardant une copie sur sa boîte `foo` : + +~~~ +$ cat ~/.forward + +\foo,"|/usr/bin/vacation foo" +~~~ + +### vacation + +~~~ +# apt install vacation +~~~ + +Le programme `vacation` permet d'envoyer des messages d'absence SANS renvoyer des messages aux adresses +déjà prévenues et SANS envoyer de message d'absence quand le mail reçu est une copie cachée. + +ATTENTION, vacation n'envoie donc PAS de message d'absence si la destination n'est pas le compte UNIX. +Par exemple si l'on a un compte `jdoe` et que l'on reçoit un email sur `john.doe@example.com` aucun +message d'absence ne sera renvoyé. Il faut alors préciser un alias avec l'option `-a` : + +~~~ +/usr/bin/vacation -a john.doe -a jdoe +~~~ + +Le message d'absence en lui-même se trouve dans `~/.vacation.msg`, on conseille notamment +de préciser le `Content-Type` et d'éviter les accents dans le sujet : + +~~~ +$ cat ~/.vacation.msg + +From: John Doe +Subject: John Doe / Example - Absence +Content-Type: text/plain; charset=UTF-8 + +Je suis en congé parental, veuillez joindre mon collègue. +~~~ + +On peut lister les adresses qui ont reçu un message d'absence ainsi : + +~~~ +$ vacation -l +~~~ +