2010-12-14 4 views
1

У меня есть программный доступ к почтовому ящику POP3 плюс доступ к архивированным электронным письмам, хранящимся в базе данных. Моя цель, чтобы выяснить, плохие адреса электронной почты - адреса электронной почты, с которого были возвращены письма (отскочили) со статусом или сообщениями, такие как:Поиск «плохих адресов электронной почты» в почтовом ящике

  • UNDELIVERABLE почта
  • Уведомления о состоянии доставки (Failure)
  • Недоставленных почта возвращается отправителю
  • писем от людей, таких как почтовая программа-демон или почтмейстер

есть есть способ, чтобы отфильтровать такие письма без использования «эвристика»? Его легко отсканировать предмет для таких слов, как «недостижимые» или отправители, такие как «почтовый демон», но я хочу лучшее решение, если оно есть.

Обратите внимание, что у меня есть доступ к заголовкам писем для всех архивных писем POP3/database. Есть ли какой-нибудь заголовок, который я могу использовать?

ответ

1

Некоторые почтовые серверы реализуют RFC 3464. Те, кто это делает, обычно генерируют уведомления о статусе доставки с заголовком сообщения Content-Type multipart/report и трех составных частей (текст/обычная, сообщение/статус доставки и сообщение/rfc822). Таким образом, вы можете определить эти характеристики сообщения и процесс соответственно. Сообщение, как правило, выглядит следующим образом:

От: "Система доставки почты" < [email protected] >
Тема: Уведомление о состоянии доставки (Failure)
Content-Type: многочастному/отчет; report-type = статус доставки

Тип контента: текст/пусто
Человеко-читаемое объяснение уведомления о состоянии доставки.

Контент-тип: сообщение/статус доставки
Структурированная машиночитаемая причина для уведомления о состоянии доставки.

Контент-тип: сообщение/rfc822
Оригинальное сообщение.

Для тех почтовых серверов, которые генерируют уведомления о статусе доставки в неструктурированном формате, вероятно, необходимо обнаружить их уведомления, проанализировав текст заголовков сообщений From: и Subject:.

Смежные вопросы