2010-12-14 58 views
1

Je dispose d'un accès par programme à une boîte aux lettres POP3 et d'un accès aux e-mails archivés stockés dans une base de données. Mon objectif de trouver des adresses e-mail mauvais - les adresses e-mail à partir de laquelle les courriels ont été retournés (rebond) avec l'état ou des messages tels que:Recherche de "mauvaises adresses e-mail" dans une boîte aux lettres

  • Le courrier non distribuable
  • notification d'état de livraison (échec)
  • Undelivered du courrier retourné à l'expéditeur
  • les e-mails de personnes comme mailer-daemon ou maître de poste

Est-ce qu'il ya beaucoup de filtrer ces e-mails sans utiliser « heuristiques »? Il est facile de scanner le sujet pour des mots comme "undeliverable" ou des expéditeurs tels que "mailer-daemon" mais je veux une meilleure solution, le cas échéant.

Notez que j'ai accès aux en-têtes de courrier pour tous les courriels archivés POP3/base de données. Y a-t-il un en-tête que je peux utiliser?

Répondre

1

Certains serveurs de messagerie implémentent RFC 3464. Ceux qui le font génèrent généralement des notifications d'état de livraison avec un en-tête de message Content-Type of multipart/report et trois composants (text/plain, message/delivery-status et message/rfc822). Vous pouvez donc détecter ces caractéristiques du message et le traiter en conséquence. Le message se présente généralement comme ceci:

De: "Mail Delivery System" < [email protected] >
Objet: Delivery Status Notification (échec)
Content-Type: multipart/rapport; report-type = delivery-status

Type de contenu: texte/nature
Une explication lisible par l'homme de la notification d'état de livraison.

Type de contenu: message/état de livraison
Motif structuré lisible par machine pour la notification d'état de livraison. Content-Type: message/rfc822
Le message d'origine. Pour les serveurs de messagerie qui génèrent des notifications d'état de livraison dans un format non structuré, il est probablement encore nécessaire de détecter leurs notifications en analysant le texte des en-têtes de message De: et Objet:.