Я пишу надстройку Outlook, используя AddIn Express .
Я использую Delphi, в любом случае проблема касается всех, кто пишет надстройки Outlook, поэтому я включаю в теги c #.
var
MItem: _MailItem;
[...]
if OutlookApp.ActiveExplorer.Selection.Item(i).QueryInterface(IID__MailItem, MItem) = 0 then
[...]
эта строка вызывает исключение на стороне клиента. Проблема заключается в том, что если в этом клиентском Outlook я пытаюсь просмотреть детали сообщения (в Outlook 2010 я открываю сообщение, перехожу на вкладку «Файл» на ленте, а затем нажимаю на «Свойства»), я получаю следующее:
.
Если я сохраняю проблемное сообщение как файл msg и перемещаю его в свой локальный внешний вид (перетаскивая его в какую-то папку, чтобы он стал «одним из моих сообщений emaii»), я открываю свойства и вижу заголовки.
Так или иначе, есть проблема с этой конкретной установкой Outlook. Это проблема или это настройка Outlook? Я также заметил, что есть 3 типа поведения:
1) сообщение в порядке (на моем конце все сообщения «в порядке», в то время как на стороне клиента только некоторые из них в порядке. Под штрафа я имею в виду: интернет-хедера завершена)
2) сообщение не является идеальным (в некоторых сообщениях интернет-заголовки не являются единообразными, например, заголовки Message-ID отсутствуют - в этом случае, в любом случае, приведенный выше код работает)
3) сообщение плохое (без заголовков, как на скриншоте, код не работает).
Еще одна вещь: отправка сообщения на стороне клиента на адрес клиента (таким образом, отправитель = получатель). Я вижу, что в отправленной папке сообщение «плохое», а в папке «Входящие» то же сообщение в порядке.
Может кто-нибудь помочь мне пролить свет на это?
Редактировать : Я заметил, что на моем конце, даже если я вижу хедер, исключение все еще выдает. Я даже не могу видеть сообщение "кроме". Это, вероятно, из-за надстройки Express (у меня не версия исходного кода).