2009-04-16 3 views
1

Я работаю над проектом, чтобы получить электронные письма из почтового ящика POP3 и сохранить их в базе данных. Я хотел бы найти способ, с помощью которого можно связать исходные сообщения с ответами, чтобы я мог реляционно показать их как цепочку. Я собирался использовать сюжетные линии, которые не будут очень надежными, поскольку они могут изменить. Есть ли что-нибудь под капотом, которое я могу использовать, чтобы связать ответное сообщение с исходным сообщением?Получение/обработка электронных писем от .NET

+0

Отключить тему, но я действительно хочу, чтобы кто-то отправил Qmail на C#. Это конечная почтовая программа. – eduncan911

ответ

0

Тематические линии - единственный универсальный способ, которого я боюсь. Взгляните на GMail, вот как они это делают, и его можно обмануть в резьбовые несвязанные предметы, если предметы одинаковые.

Я думаю, что электронная почта, отправленная с Exchange, имеет какой-то идентификатор для потока, но это работает только внутри организации, использующей обмен, и я подозреваю, что она ненадежна, если письма поступают извне организации.

Вы можете попытаться использовать тему и применить некоторые эвристики для разделения несвязанных элементов (например, письма с совершенно разными получателями будут не связаны). Однако это не безупречно.

1

Возможно, есть способ. Многие серверы SMTP включают в себя два заголовка в сообщениях:

  • Message-ID: Уникальный идентификатор текущего сообщения
  • In-Reply-To: сообщение ID, что текущее сообщение в ответе к.

Вы можете проследить цепочку из In-Reply-To идентификаторами обратно в исходное сообщение, чтобы найти всю цепочку электронной почты.