2011-01-05 2 views
1

Мы написали надстройку Outlook на C#, которая добавляет пользовательский заголовок к исходящим сообщениям.Outlook Add-In - Пользовательские заголовки для отслеживания электронной почты

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

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

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

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

Проблема, если вы отправляете почту с помощью учетной записи Exchange, сервер обмена перезаписывает Ссылки заголовок и использует его собственные запатентованные заголовки: Thread-Index и Thread-Topic. Стандарты электронной почты предлагают использовать Ссылки и В ответах на вопрос заголовки. См. Это link по этому вопросу.

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

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

ответ

0

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

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

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

+0

Привет, просто интересно, удалось ли отслеживать электронные письма? Если да, то как вы это сделали? - Спасибо. – salih0vicX

+0

Мой ответ выше показывает, что мы сделали. Хотя я больше не работаю над этим программным обеспечением. – jonathanpeppers

Смежные вопросы