Forum Linux.général Traitement des "bounces" VERP avec Postfix

Posté par  .
Étiquettes : aucune
0
12
déc.
2006
Bonjour,

J'ai actuellement un serveur mail qui envoie quotidiennement un email à quelques abonnés.
Les mails sont actuellement envoyés grâce à un script PHP qui se connecte en SMTP au serveur postfix et cela fonctionne bien. Il est inenvisageable de remplacer les scripts PHP par un logiciel de liste de diffusion puisque chaque message est envoyé à un très petit groupe d'utilisateur.
La liste des abonnés grossissant, je ne peux plus traiter à la main le nettoyage de la base d'adresses lorsque l'un des problèmes suivantes est détecté :
- la boite mail du destinataire est pleine et retourne un message d'erreur
- l'utilisateur n'existe pas sur ce domaine
- le domaine est inconnu
Je sens bien que la base d'adresses aurait besoin d'un sérieux nettoyage et je souhaite automatiser cette opération.

Je pense donc utiliser du VERP [1] pour désinscrire automatiquement, après un certain nombre d'échecs, les abonnés.

Pour cela, et après avoir consulté la documentation de Posffix et de PHP, les scripts PHP génèrent une adresse d'émission spécifique utilisée pour le "Return path" du type
bounces-USER=DOMAIN.COM@mondomaine.fr (où l'adresse du destinataire est USER@DOMAIN.COM)
Ma question ne concerne donc pas l'émission des messages, qui me semble correcte, mais plutôt à la réception des messages de retour (les "bounces").
En effet, je suis bien en mail de savoir quoi en faire !

1/ Postfix ne va-t-il pas les refuser ? Il n'existe en effet pas d'utilisateur bouces-USER=DOMAIN.COM sur le serveur mail et je ne sais pas comment indiquer à Postfix de mettre tous les messages à destination de "bounces-*" dans une boite mail spécifique, c'est à dire envoyer les mails à destination de bounces-toto=titi.com@mondomaine.fr au même endroit que les mails destinés à bounces-plop=glop.net@mondomaine.fr
Comme puis-je lui dire d'accepter tous les mails commençant* par "bounces-" et de les mettre dans une boite mail déterminée ?

2/ En admettant que ce 1er point soit réglé, comment puis-je dire à Postfix de ne pas mettre ces emails dans une boite déterminée, mais de les passer à un script ?
Il me semble que le fichier d'alias et le fichier de transport sont concernés, mais ne sachant que mettre et ne voulant pas casser le serveur qui fonctionne en l'état actuel, je sollicite votre aide.
Mon intention première était de mettre dans /etc/postfix/aliases
quelque-chose du type :
bounces-*: "| /opt/bounces/bouces.pl"

Mais j'ai des doutes quand à la validité de l'étoile (wildcard).

3/ N'existe-t-il pas déja des scripts libres qui traiteraient les mails en retour ? Je n'ose croire être le premier à devoir traiter des retours de mails VERP, et pourtant mes recherches se sont révélées infructueuses.

Merci pour votre aide !
Cordialement,
D.

http://www.postfix.org/VERP_README.html
  • # procmail

    Posté par  . Évalué à 2.

    Quand tu envois des mails avec php tu peux ajouter l'argument "-fbounce@example.com" dans additional_parameters. Le serveur ajoute l'entête Return-Path: bounce@example.com et les bounces sont envoyés sur bounce@example.com.

    Ensuite si tu as un utilisateur bounce, avec un ~/.procmailrc tu peux passer les mails dans un script puis les envoyer dans /dev/null.
    • [^] # Re: procmail

      Posté par  . Évalué à 1.

      Justement, le problème est que je ne veux pas que le return path soit simplement bounce@example.com mais bounce-<variable string>@example.com
      ou <variable string> est une chaîne VARIABLE me permettant de déterminer l'adresse à l'origine du bounce.
      Je n'ai d'ailleurs aucun problème à spécifier un "return path" particulier à l'émission du mail, ma question ne porte pas sur ce point.

      On n'a pas 1 seul bounce@example.com mais
      bounce-oiho=azeaze.com@example.com
      bounce-gdsf=azze.fr@example.com
      bounce-toto=plop.org@example.com
      etc...

      Je veux dire à postfix que tous les mails à destination de bounce-*@example.com doivent aller dans la même boite. Et je ne sais pas comment procéder.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.