Я работаю в автономном настольном приложении c #, которое отправляет документы, а затем импортирует их из Outlook, когда они отправляются обратно. Приложение забирает электронные письма из указанной папки, обрабатывает их, а затем сохраняет имя отправителя и другие данные в базе данных.
Это хорошо работает для Outlook 2003 и 2007, которые имеют свойство SenderEmailAddress. Однако Outlook 2000 и XP не имеют этого свойства и не будут последовательно возвращать name@domain.com. Я предоставляю поддержку для этих версий.
Я обнаружил, что библиотека под названием Outlook Redemption решит эту проблему, но я занимаюсь разработкой в .net и очень хочу избежать записи в реестры клиентов. Я также нашел MAPI33 оберткой .Net вокруг MAPI, но на форумах неясно, поддерживается ли она по-прежнему.
Буду признателен за любые указания относительно альтернативы .Net для Redemption dll или подхода к возможности постоянного получения адреса электронной почты в версиях Outlook.
Большое спасибо
AbsFabs
Эпилог:
Я закончил тем, что использовал решение из этой статьи http://support.microsoft.com/kb/324530. Это включало в себя создание ответа и затем извлечение ответа на адрес созданного почтового элемента. Он хорошо работал для электронных писем, отправленных через Интернет, и в настоящее время проходит тестирование Exchange Server.
Также нашел это в моих путешествиях http://anoriginalidea.wordpress.com/2008/01/11/getting-the-smtp-email-address-of-an-exchange-sender-of-a-mailitem-from-outlook-in-vbnet-vsto/ похоже, что это касание. Это может включать мой план B, если моя существующая реализация не выдерживает испытания.
Спасибо за ваш отзыв
AbsFabs
Я в конечном итоге завелась с помощью Искупления. Отличный инструмент для работы. Моя проблема была с необходимостью зарегистрировать DLL, когда мое приложение было установлено. Так как мое приложение написано в dotnet, ему не нужно ничего регистрировать. Я был в состоянии обойти проблему регистрации DLL с помощью COM без регистрации.
Большое спасибо за ваше вдохновение.