Emailing - Traitement des bounces back / NPAI

Nouveau WRInaute
Bonjour à tous,
Je suis en train de mettre en place une solution d'emailing pour mes campagnes d'emarketing. J'aimerais avoir un retour sur les soft et hard bounces. J'arrive donc à recevoir un mail delivery system m'informant qu'un mail n'est pas arrivé à destination. Mon problème est que j'aimerais retrouver tous ces résultats dans une base de donnée mysql. Donc je voulais savoir s'il était possible de récupérer le contenu d'un mail via php puis le retraiter pour l'insérer dans une base ?

Ou existe t-il une autre technique pour savoir si un mail n'est pas arrivé à destination ? Est-on obligé de passer par le mail delivery system ?
 
Nouveau WRInaute
Merci pour ta réponse. je vais voir du côté de la classe PHPMailer-BMH. As tu trouvé des docs ou des exemples pour cette classe ? J'ai l'impression que cette classe est encore peu connue de la communauté française.
 
WRInaute accro
Si tu télécharge la classe, il y a des exemples fournis avec.
Effectivement, il y a très peu de retours (autant chez les français que du côté anglophone). D'après mes tests, elle a l'air assez simple à utiliser, elle trouve bien le soft et le hard bounce, sauf que je n'arrive pas encore à la faire fonctionner avec les bounce hotmail.

Alors peut-être qu'un autre WRInaute connais une autre solution ou a déjà réussi à gérer ses bounce avec cette classe. Dans ce cas, je suis preneur de toutes infos, le sujet m'interresse aussi depuis pas mal de temps ( 2008 : https://www.webrankinfo.com/forum/comment-detecter-les-fausses-adresses-ema ... 04075.html ) (si quelqu'un avait un vrai tutoriel...)
 
Nouveau WRInaute
Ok je vais donc faire des tests et t'en dirai plus dès que possible.

Je suis aussi preneur de toutes autres informations concernant le sujet.
 
WRInaute impliqué
J'ai fait un petit prog en php.

Comme c'est fait au lance pierre je ne vais pas le donner entièrement ici mais voici le plus important :

Pour le Hard bounce
Code:
$HARD_BOUNCE_STRG = array();
$HARD_BOUNCE_STRG[] = 'domain not found';
$HARD_BOUNCE_STRG[] = 'mailbox unavailable';
$HARD_BOUNCE_STRG[] = 'user is unknown';
$HARD_BOUNCE_STRG[] = 'user unknown';
$HARD_BOUNCE_STRG[] = 'this user doesn\'t have a yahoo';
$HARD_BOUNCE_STRG[] = 'this account has been disabled or discontinued';
$HARD_BOUNCE_STRG[] = 'no mailbox here by that name';
$HARD_BOUNCE_STRG[] = 'the email account that you tried to reach does not exist';
$HARD_BOUNCE_STRG[] = 'mailbox not found';
$HARD_BOUNCE_STRG[] = 'the email account that you tried to reach is disabled';
$HARD_BOUNCE_STRG[] = 'unknown or illegal alias';
$HARD_BOUNCE_STRG[] = 'invalid mailbox';
$HARD_BOUNCE_STRG[] = 'this mailbox has been blocked due to inactivity';
$HARD_BOUNCE_STRG[] = '550 5.2.1';
$HARD_BOUNCE_STRG[] = 'inactive mailbox';
$HARD_BOUNCE_STRG[] = 'invalid address';
$HARD_BOUNCE_STRG[] = 'la boite mail du destinataire est archivee et ne recoit plus de message';
$HARD_BOUNCE_STRG[] = 'unknown user';
$HARD_BOUNCE_STRG[] = 'account disabled';
$HARD_BOUNCE_STRG[] = 'no such mailbox';
$HARD_BOUNCE_STRG[] = 'account expired';
$HARD_BOUNCE_STRG[] = 'status: 5.1.1';
$HARD_BOUNCE_STRG[] = 'we do not relay';
$HARD_BOUNCE_STRG[] = 'relay access denied';
$HARD_BOUNCE_STRG[] = 'recipient unknown';
$HARD_BOUNCE_STRG[] = 'no such user';
$HARD_BOUNCE_STRG[] = 'mail appears to be unsolicited';
$HARD_BOUNCE_STRG[] = 'recipient not found';
$HARD_BOUNCE_STRG[] = 'unsupported mail destination';
$HARD_BOUNCE_STRG[] = '550 #5.1.0 Address rejected';
$HARD_BOUNCE_STRG[] = 'invalid recipient';
$HARD_BOUNCE_STRG[] = 'no account by that name here';
$HARD_BOUNCE_STRG[] = 'unknown recipient';
$HARD_BOUNCE_STRG[] = 'utilisateur inconnu';
$HARD_BOUNCE_STRG[] = 'account is disabled';
$HARD_BOUNCE_STRG[] = 'unrouteable address';
$HARD_BOUNCE_STRG[] = 'inactive user';
$HARD_BOUNCE_STRG[] = 'mailbox is no longer active';
$HARD_BOUNCE_STRG[] = 'account has been suspended';
$HARD_BOUNCE_STRG[] = 'email not found';
$HARD_BOUNCE_STRG[] = 'user not found';
$HARD_BOUNCE_STRG[] = 'e-mail address was not found in the recipient';
$HARD_BOUNCE_STRG[] = 'unknown email address';
$HARD_BOUNCE_STRG[] = 'user account is unavailable';
$HARD_BOUNCE_STRG[] = 'no such address here';
$HARD_BOUNCE_STRG[] = 'your recipient never logged onto their free AIM Mail account';
$HARD_BOUNCE_STRG[] = 'Nonexistent user';
$HARD_BOUNCE_STRG[] = 'unknown address';

Pour le Soft bounce :
Code:
$SOFT_BOUNCE_STRG[] = array();
$SOFT_BOUNCE_STRG[] = 'over quota';
$SOFT_BOUNCE_STRG[] = 'quota exceeded';
$SOFT_BOUNCE_STRG[] = 'quota excedeed';
$SOFT_BOUNCE_STRG[] = 'mailbox full';
$SOFT_BOUNCE_STRG[] = 'mailbox is full';
$SOFT_BOUNCE_STRG[] = 'mailfolder is full';
$SOFT_BOUNCE_STRG[] = 'over the allowed quota';
$SOFT_BOUNCE_STRG[] = 'overdrawn his diskspace quota';
$SOFT_BOUNCE_STRG[] = 'mailbox size limit exceeded';

Avec ca je classe quasiment tout. Je termine manuellement sur les quelques messages qui n'ont pas pu être filtrés.

Autrement récupéré le mail du destinataire n'est pas une chose simple (parfois il est situé en pj) mais avec quelques fonctions php on peut l'extraire dans quasiment tous les cas.

Testé sur une base de 200K mails.
 
Discussions similaires
Haut