2010-11-09 23:51

Dans un précédent billet, j’expliquais comment mettre en place un “mangeur de courriel” avec Exim, de manière à se créer des adresses multiples qui redirigent toutes vers la même destination :

catchall_pub:
  driver = redirect
  domains = pub.mondomaine.com
  data = utilisateur@mondomaine.com

Ensuite, j’expliquais que sur l’adresse destination, on pouvait mettre en place un filtre Sieve ou Exim via un fichier .forward.

On peut vouloir mettre en place le filtre directement dans Exim, par soucis de centralisation de configuration, ou tout simplement si la boîte destination ne supporte pas les filtres.

Il suffit d’ajouter l’option local_parts :

catchall_pub:
  driver = redirect
  domains = pub.mondomaine.com
  local_parts = !/etc/exim4/pub.mondomaine.com.blacklist
  data = utilisateur@mondomaine.com

Dans /etc/exim4/pub.mondomaine.com.blacklist, on place les adresses rejetées, une par ligne :

toto1
titi2

Ainsi, les adresses toto1@pub.mondomaine.com et titi2@pub.mondomaine.com sont désormais rejetées.

Doc Exim4 :

2010-11-09 23:51 · Tags: , , ,
2010-05-24 23:52

L’idée est d’avoir à disposition un ensemble d’adresses nimportequoi@pub.mondomaine.com qui redirigent toutes vers une seule boîte. Ainsi, je peux utiliser n’importe quelle adresse @pub.mondomaine.com comme alias vers ma boîte principale.
De cette manière, je donne l’adresse ebay@pub.mondomaine.com chez Ebay, amazon@pub.mondomaine.com chez Amazon, et ainsi de suite.

L’avantage de cette solution est que je peux désactiver un alias si la désinscription sur le site ne suffit pas. Elle permet aussi de détecter les sites qui revendent votre adresse à d’autres sites.

En premier lieu, il faut qu’Exim écoute sur le réseau, et qu’il accepte les courriels à destination du domaine pub.mondomaine.com. Sous Debian, on place les directives suivantes dans /etc/exim4/update-exim4.conf.conf :

dc_local_interfaces='0.0.0.0'
dc_relay_domains='pub.mondomaine.com'

Note : sous Debian, à chaque démarrage d’Exim le fichier /etc/exim4/exim4.conf.template est rempli avec les variables définies dans /etc/exim4/update-exim4.conf.conf, pour produire le fichier /var/lib/exim4/config.autogenerated. Ceci afin de simplifier la configuration d’Exim dans les cas “standards”.

Éditer ensuite le fichier /etc/exim4/exim4.conf.template pour ajouter un nouveau router, en tant que premier router juste en dessous de begin routers :

catchall_pub:
  driver = redirect
  domains = pub.mondomaine.com
  data = utilisateur@mondomaine.com

Le router sera appelé pour tout mail @pub.mondomaine.com. Il confie tous les mails au transport redirect qui les enverra vers l’adresse spécifiée dans data.

Enfin, on pourra ensuite utiliser un fichier /home/utilisateur/.forward pour désactiver les alias à l’aide d’un filtre Sieve ou Exim.

MAJ 10/11/2010 : une autre manière de désactiver les alias

Références :

2010-05-24 23:52 · Tags: , , ,
2009-10-19 14:01

Pour ajouter les sujets de courriels dans la log Exim4 (/var/log/exim4/mainlog), il suffit simplement de modifier le fichier /etc/exim4/exim4.conf.template comme suit en ajoutant +subject au log_selector :

.ifdef MAIN_LOG_SELECTOR
log_selector = MAIN_LOG_SELECTOR +subject
.endif

Puis relancer Exim :

/etc/init.d/exim4 restart
2009-10-19 14:01 · Tags: ,
2009-07-07 17:02

Voici comment créer un filtre système dans Exim4, pour envoyer certains mails dans un script Bash.

Sous Debian, on ajoute les lignes suivantes dans /etc/exim4/exim4.conf.template :

system_filter = /etc/exim4/exim.filter
system_filter_pipe_transport = address_pipe
system_filter_user = Debian-exim

Et le filtre /etc/exim4/exim.filter contient par exemple :

if $h_subject: begins "[MyTest]" and
  $h_to: contains mytest@example.com
then
       unseen pipe /usr/local/bin/myscript.sh
endif 

Dans le script .sh, on pourra récupérer le mail complet par l’instruction :

MAIL=`cat`

Notes :

  • Le transport “address_pipe” est décrit un peu plus bas dans le fichier de configuration d’Exim.
  • Si on ne place pas la directive “system_filter_user”, le script serait lancé en root, et Exim le refuse.

Lien : http://www.exim.org/exim-html-current/doc/html/filter.html

2009-07-07 17:02 · Tags: ,