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 andeus . Évalué à 2.
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 Amaury . Évalué à 1.
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.