SMTP-сообщение содержит набор заголовков, таких как From, To, CC, Subject и целый ряд других вещей.
Конверт SMTP - это просто имя, данное небольшому набору заголовков с префиксом к стандартному сообщению SMTP, когда сообщение перемещается агентом транспорта сообщений (т.е. сервером SMTP). Наиболее распространенными заголовками конвертов являются X-Sender, X-Receiver и Received.
Например, SMTP-сервер Microsoft добавляет X-Sender и серию заголовков X-Receiver в верхнюю часть сообщения, когда он помещает сообщение в свою папку удаления. Будет один X-Receiver для каждого почтового ящика, соответствующего домену, для которого предназначена папка удаления.
Другой пример: SMTP-серверы добавляют заголовок Receive: при получении сообщения от другого SMTP-сервера. Этот заголовок дает различные детали обмена. Следовательно, большинство сообщений электронной почты в tinternet, когда они прибудут в конечный пункт назначения, будут иметь серию заголовков получения, указывающих, что SMTP-сервер перепрыгивает, чтобы получить сообщение. Обычно серверы удаляют заголовки X-Sender, X-Receiver, когда сообщение наконец перемещается в почтовый ящик POP3.
Доступ к заголовкам
На платформе Windows я нашел единственный способ получить доступ к заголовкам конвертов - просто открыть и проанализировать файл eml. Это довольно простой формат (name
: value
CR LF).
Снова на платформе Windows можно получить доступ к основному набору заголовков сообщений и частей тела с помощью набора объектов CDOSYS.dll COM. Как бы вы сделали это на других платформах, я не знаю. Тем не менее, формат заголовка довольно прост в соответствии с заголовками конверта, он обеспечивает доступ к частям тела, что потребует более творческого кодирования.