Я работаю над проектом, чтобы получить электронные письма из почтового ящика POP3 и сохранить их в базе данных. Я хотел бы найти способ, с помощью которого можно связать исходные сообщения с ответами, чтобы я мог реляционно показать их как цепочку. Я собирался использовать сюжетные линии, которые не будут очень надежными, поскольку они могут изменить. Есть ли что-нибудь под капотом, которое я могу использовать, чтобы связать ответное сообщение с исходным сообщением?Получение/обработка электронных писем от .NET
ответ
Тематические линии - единственный универсальный способ, которого я боюсь. Взгляните на GMail, вот как они это делают, и его можно обмануть в резьбовые несвязанные предметы, если предметы одинаковые.
Я думаю, что электронная почта, отправленная с Exchange, имеет какой-то идентификатор для потока, но это работает только внутри организации, использующей обмен, и я подозреваю, что она ненадежна, если письма поступают извне организации.
Вы можете попытаться использовать тему и применить некоторые эвристики для разделения несвязанных элементов (например, письма с совершенно разными получателями будут не связаны). Однако это не безупречно.
Возможно, есть способ. Многие серверы SMTP включают в себя два заголовка в сообщениях:
- Message-ID: Уникальный идентификатор текущего сообщения
- In-Reply-To: сообщение ID, что текущее сообщение в ответе к.
Вы можете проследить цепочку из In-Reply-To идентификаторами обратно в исходное сообщение, чтобы найти всю цепочку электронной почты.
Отключить тему, но я действительно хочу, чтобы кто-то отправил Qmail на C#. Это конечная почтовая программа. – eduncan911