2013-01-16 164 views
0

我試圖使用WinRT的批量發送電子郵件

var mail = new Uri("mailto:[email protected]"); 
await Windows.System.Launcher.LaunchUriAsync(mail); 

電子郵件客戶端啓動,但只顯示最後一個電子郵件發送一組電子郵件在App Store應用。我真的需要將電子郵件「排隊」到客戶端。這可能嗎?

有人建議使用共享合同,但我認爲我可能不得不提示用戶分享每封電子郵件?

注意:我將多封電子郵件發送給多個收件人,而不是通過電子郵件發送給多個收件人。

回答

1

如果您想從Windows應用商店應用發送一批電子郵件,最好的辦法是爲此創建一個Web服務,並從您的應用中調用它來創建這些電子郵件所需的所有數據。

您可以直接發送電子郵件從你的用戶設備在幾個方面,但它們都有缺點,除非這些都是一次性的,用戶希望以交互方式發送電子郵件:

  • 建議的方法是使用一份股份合同,但在這種情況下,用戶將不得不自己選擇收件人,而且他不知道他是否實際發送了電子郵件。甚至更多:用戶可以選擇不同的共享目標,例如張貼推文,而不是發送電子郵件。你無法控制。

  • 您可以按照您的嘗試啓動mailto uri,但這很大程度上取決於用戶爲此協議選擇的默認應用程序。它可能會打開郵件客戶端,它可能會打開瀏覽器或根本無法工作。當然,您仍然不知道用戶是否真的會發送電子郵件。再次,你無法控制。

  • 第三個選擇是直接從您的應用程序編程發送電子郵件,而無需用戶干預。目前沒有可用的API。即使您自己實施協議,您仍然需要用戶設置SMTP設置。這也是強烈的不鼓勵,它可能會阻止你的應用程序通過認證。

+0

謝謝,我很懷疑! –

+0

@Damir您能否解釋或指出認證規則,指出不鼓勵實施SMTP客戶端? –

+0

@PawelLesnikowski對於創建一個實現SMTP客戶端代碼的郵件客戶端應用程序沒有任何規定(查看當前的'Mail'應用程序,這將是一個很好的選擇)。另一個應用程序悄悄地代表用戶發送電子郵件是另一回事。儘管沒有[認證規則](http://bit.ly/MwjTtC)嚴格規定,它違背了[擅於處理一件事](http://bit.ly/r5hNrg)和[有用戶控制](http://bit.ly/10bRxHp)。不得不將SMTP設置輸入到應用程序中也會引起用戶的一些擔憂。 –