簡體   English   中英

Windows Live Mail Mapi支持

[英]windows live mail mapi support

我正在編寫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 Mail時,它無法正常工作。 發送郵件對話框正確打開,應用程序在mapi.SendMailPopup上暫停執行,直到關閉郵件對話框。 但是,無論用戶執行什么操作,mapi.SendMailPopup始終返回零。 例如,如果用戶決定關閉消息對話框而不發送消息,則mapi.SendMailPopup在正確的響應為1(用戶終止)時返回0。

我的問題是Windows Live Mail是否需要為此提供MAPI支持,如果不能,我可以告訴我其他一些免費的Windows Mail客戶端來提供所需的MAPI支持

這令人困惑-.NET解決方案是SMAPI,而不是MAPI。 我不確定SMAPI的返回值是否可靠,尤其是因為返回值是直接從默認MUA供應商的SMAPI實現返回的,因此至少有十幾個返回值。 由於瀏覽器不使用返回值,並且它們是SMAPI的主要客戶端,因此我不會依賴它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM