Я пишу приложение C# .net, которое должно отправлять сообщения электронной почты с помощью MAPI. Для достижения этой цели я использую следующую библиотеку. http://www.codeproject.com/KB/IP/SendFileToNET.aspx Вот пример того, как я ее использую.windows live mail mapi support
MAPI mapi = new MAPI();
mapi.AddRecipientTo("[email protected]");
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 потребовался MAPI-поддержка для этого, и если не может кто-нибудь сказать мне некоторые другие свободные окна почтового клиента, который не будет предлагать необходимую поддержку MAPI-
Microsoft изо всех сил пытается избавиться от MAPI. Это будет один из способов ... –
Каковы альтернативы? Мне нужно отправить сообщения электронной почты из моего приложения, используя внешнюю почтовую программу. – Jargo
Альтернативой является либо модель объектного объекта Outlook, если вы хотите подключать туда сообщения и использовать их в отправленных элементах, используя подписи и т. Д. Или SMTP. –