我正在编写需要使用 MAPI 发送电子邮件的 ac# .net 应用程序。我正在使用以下库来实现此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 在正确响应为 1(用户中止)时返回 0。
我的问题是 windows live mail 是否需要为此提供 MAPI 支持,如果没有,有人可以告诉我其他一些免费的 windows 邮件客户端,它们将提供所需的 MAPI 支持