Windows Live Mail Mapi Поддержка - PullRequest
       11

Windows Live Mail Mapi Поддержка

1 голос
/ 13 августа 2010

Я пишу приложение ac # .net, которое должно отправлять сообщения электронной почты с использованием MAPI.Я использую следующую библиотеку для достижения этого http://www.codeproject.com/KB/IP/SendFileToNET.aspx Вот пример того, как я ее использую.

MAPI mapi = new MAPI();
mapi.AddRecipientTo("test@test.com");
int returncode = mapi.SendMailPopup("subject", "message");
if(returncode==0)
{
MessageBox.Show("User sent message");
}
else if (returncode==1)
{
MessageBox.Show("User abort");
 }

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

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

Проблема в том, что при использовании почты Windows это работает неправильно.Диалоговое окно отправки почты открывается правильно, и приложение приостанавливает выполнение на mapi.SendMailPopup до тех пор, пока диалоговое окно почты не закроется.Однако независимо от того, что пользователь делает, mapi.SendMailPopup всегда возвращает ноль.Если пользователь, например, решит закрыть диалоговое окно сообщения без отправки сообщения, mapi.SendMailPopup возвращает 0, когда правильный ответ будет 1 (пользователь прерван).

Мой вопрос: должна ли Windows Live Mail требовать MAPI-поддержки для этого, и если нет, кто-нибудь может сказать мне какой-нибудь другой бесплатный почтовый клиент Windows, который бы предлагал требуемую MAPI-поддержку

1 Ответ

1 голос
/ 13 августа 2010

Это сбивает с толку - решение .NET - это SMAPI, а не MAPI.Я не уверен, насколько надежны возвращаемые значения из SMAPI, тем более что возвращаемое значение возвращается непосредственно из реализации SMAPI вашего поставщика MUA по умолчанию, и их существует как минимум дюжина.Поскольку браузер не использует возвращаемое значение и является основным клиентом SMAPI, я бы не стал на это полагаться.

...