Как безопасно идентифицировать сообщение о доставке (уведомление о доставке) - PullRequest
4 голосов
/ 23 июня 2010

Я получаю электронные письма с сервера POP3, и я хотел бы провести различие между обычной электронной почтой и сообщениями DSN (уведомление о доставке) / NDR (отчет о недоставке / получение).

Какой самый лучший / самый безопасный способ идентифицировать эти сообщения? Есть ли какие-то конкретные заголовки сообщений, которые я должен искать?

Заранее спасибо!

1 Ответ

5 голосов
/ 01 февраля 2011

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

От: «Система доставки почты»
Тема: Уведомление о состоянии доставки (отказ) Тип содержимого: многочастному / отчет; отчет типа = доставка-статус

Content-Type: text / plain Человекочитаемое объяснение Уведомление о статусе доставки.

Content-Type: message / delivery-status Структурированный машиночитаемый причина уведомления о статусе доставки.

Content-Type: message / rfc822 Исходное сообщение.

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

...