Надстройка Outlook - пользовательские заголовки для отслеживания электронной почты - PullRequest
1 голос
/ 05 января 2011

Мы написали надстройку Outlook на C #, которая добавляет настраиваемый заголовок к исходящим сообщениям.

Эта надстройка должна использовать библиотеку под названием Redemption, чтобы обойти защиту Outlook, чтобы изменить заголовки, ивсе это прекрасно работает.

Наша проблема заключается в отправке исходящей почты через сервер обмена.Мы используем дополнительный заголовок как таковой:

  • Добавьте заголовок References с адресом электронной почты, который содержит идентификатор для отслеживания с нашей системой.
  • Этостандартный заголовок электронной почты, который все почтовые клиенты должны передавать при ответе на сообщения.Поэтому при ответе на сообщение новое сообщение будет автоматически отслеживаться.

Все это прекрасно работает, если вы отправляете электронное письмо из учетной записи IMAP в Outlook, такой как GMail.

Проблема в том, что если вы отправляете почту через учетную запись Exchange, сервер Exchange перезаписывает заголовок References и использует собственные проприетарные заголовки: Thread-Index и Thread-Topic .Стандарты электронной почты предлагают использовать заголовки References и In-Reply-To .Смотрите эту ссылку по этому вопросу.

Кто-нибудь знает способ обойти это?Вот некоторые алгоритмы, чтобы получить нам следующее:

  • Добавить заголовок (любого имени или типа) к электронным письмам, который содержит 10-значный идентификатор и трехбуквенный префикс
  • Ответ на это письмоиз всех (или большинства) почтовых клиентов сохраняется пользовательский заголовок

1 Ответ

0 голосов
/ 07 января 2011

Я думаю, что следующий алгоритм решит нашу проблему:

  • Наша надстройка для Outlook установит ссылки и произвольный X-заголовок
  • Наш почтовый фильтр будет искать ссылки, если будет найден, использовать его (если сервером исходящей почты был Exchange, он не будет присутствовать)
  • Если наш почтовый фильтр найдет произвольный X-заголовок и Thread-Index, он сохранит данные, найденные в X-заголовке.
  • Позже, если на электронное письмо ответили несколько раз, почтовый фильтр будет использовать Thread-Index для поиска прошлой информации и отслеживания электронной почты.

Для тех, кто хочет знать внутреннюю часть заголовка Thread-Index, это строка в кодировке Base64. Первые 22 байта являются оригинальной уникальной частью, и каждый ответ добавляет к ней дополнительные 5 байтов. Мы используем только первые 22 байта для идентификации электронной почты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...