L'appartement

Aller au contenu | Aller au menu | Aller à la recherche

mardi, octobre 13 2009

Une nouvelle version du script de mailing avec gestion des bounces

Disclaimer : Ce programme reste en version beta. Je l'utilise en production mais pas la peine de m'insulter si vous ne parvenez pas à l'utiliser !

Je suis heureux de proposer enfin une nouvelle version de mon script de mass mailing et d'analyse des bounces en PHP (CLI). Il y a pas mal d'améliorations et de corrections par rapport à la version précédente.

On peux déjà noter que pour plus de lisibilité, j'ai développé un mini-site avec pas mal d'informations utiles sur la chose.

Une des autres principales nouveautés réside dans l'analyse des mails invalides, via les « bounces ».

Rien n'est plus problématique qu'une liste d'abonnés à moitié fausse ! Il est de plus en plus fréquent que les fournisseurs blacklistent des adresses IP qui tentent d'expédier beaucoup trop de messages à destination d'adresses inexistantes.

Pour cette fonctionnalité, j'ai choisi d'analyser la boite qui reçoit les erreurs (celle précisée par l'entête return-path du mail).

Tant que tous les serveurs de mail ne se donneront pas la main pour chanter en cœur ne respecteront pas les RFCs à ce sujet, je ne pense pas qu'il y aura d'autre solution efficace !

Je me suis basé sur une classe trouvée sur Sourceforge [1] et mon collègue Zas a pas mal bricolé sur cette partie (corrections de bugs et optimisations) en plus des corrections sur le reste de sendNews ;)

Cette version de sendNews est depuis quelques temps en production et je suis assez satisfait du résultat. Il manque un certain nombre de règles d'analyse des bounces pour être réellement exhaustif. Quoiqu'il en soit, mes listes de diffusion ne contiennent pas un nombre beaucoup trop important d'adresses non valide.

Tous les feedbacks sur ce script sont les bienvenus !

Le site mini-site sendNews

Précédemment sur le même sujet

Notes

[1] Le développement de cette classe (bmh) a repris sous la houlette des créateurs de PHPMailer, je n'ai pas encore eu le temps d'apprécier le refactoring qui a été réalisé

vendredi, novembre 9 2007

Petite mise à jour du script de mass mailing

Mass

C'est une mise à jour mineure. Les fonctionnalités sont les même que celles de la première version

J'ai eu quelques soucis avec la classe Zend_Mail. Lors d'un envoi, suite à une mise à jour de Zend_Mail, je me suis retrouvé avec des groupes de destinataires en copie au lieu d'un envoi unitaire (pas très sérieux !).

J'ai donc utilisé le "bon vieux" PHPMailer. J'en ai aussi profité pour remplacer PEAR::DB par PDO. Ce qui rend le script plus léger et plus simple à installer ;) . Je l'ai également doté d'un fichier de configuration séparé.

Changelog :

  • Utilisation de PHPMailer à la place de Zend_Mail
  • Utilisation de PDO à la place de PEAR::DB
  • Changement esthétique.
  • Un fichier de configuration séparé.

Documentation

Vous devez télécharger PHPMailer, disposer de PHP5 et l'extension PDO.

Pour le reste, la documentation de la première mouture est toujours valable. Vous pouvez également utiliser toutes les options disponibles dans PHPMailer pour adapter ce script à votre convenance (je vous laisse chercher dans le script).

Important : Ce programme est fourni sans aucune garantie même si je l'utilise toutes les semaines pour une newsletter de 30 000 abonnés.

A faire :

  • une option pour préciser le chemin du fichier de configuration
  • en extra, toujours le gros boulot qui consiste à analyser les retours de mail (Delivery Error).

Téléchargement

télécharger le script