Dans la problématique d'une adresse email erronée et qui n'existe pas, je 
fais confiance à des services dédiés, tel que MailChimp 
: http://mailchimp.com/

Si tu teste leur interface, tu verra qu'ils te font du reporting des emails 
retourné en erreur.
Tu peut donc les visualiser dans l'interface. Mais également y accéder via 
une API, et donc traiter cette information comme tu le souhaites dans un 
cron par exemple.



On Wednesday, May 9, 2012 5:09:02 PM UTC+2, Jean-Philippe M. wrote:
>
> Bonjour, 
>
> sur plusieurs de nos applications nous utilisons state_machine avec 
> des hooks before/after_transition pour envoyer des emails (par 
> exemple, un envoi de mail de confirmation à un nouvel utilisateur, ou 
> une confirmation de commande). 
> Malheureusement l'envoi de mail échoue parfois : adresse mail fausse 
> ou qui contient une typo, erreur SMTP sur le serveur mail, problème 
> réseau... ce qui entraîne l'envoi d'un mail d'exception_notifier (qui 
> peut d'ailleurs potentiellement échouer lui aussi) et l'affichage 
> d'une erreur 500 au visiteur. 
>
> Dans la plupart des cas l'envoi de ce mail dans l'immédiat n'est pas 
> primordiale, on doit donc pouvoir ignorer cette erreur et retenter un 
> envoi ultérieurement, le visiteur n'ayant pas a être au courant de ce 
> genre de problèmes. 
> J'envisage 2 pistes pour éviter ce genre d'erreurs : 
> - passer l'envoi de tous les mails en background (avec resque ou 
> delayed_job par exemple), ce qui serait le plus "propre", et gérer les 
> erreurs dans ce contexte (logging, renvoi) 
> - reprendre tous les cas ou on envoie un mail et catcher manuellement 
> les erreurs possibles pour les logger ou prévenir l'admin. On aurait 
> ainsi pas besoin de mettre en place un système de tâches de fond s'il 
> n'y en a pas déjà mais ça peut demander du temps de dev important 
> selon la taille du projet et complexifier le code des modèles 
>
> Comment procédez vous sur vos projets ? Il me semble que la solution 
> resque_mailer ou delayed_job est la plus populaire mais il y a peut 
> être d'autres pistes que je n'ai pas encore exploré.

-- 
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
[email protected]

Répondre à