2013-02-19 268 views

回答

3

您需要使用sharing功能。它將允許您創建一個電子郵件模板(設置主題,正文,收件人等)並將其打開給用戶,因此他或她可以單擊「發送」。沒有smtp客戶端這樣的東西,無論好壞。 Here「SA漂亮的你的選擇說明從Windows手機送東西8.

8

您可以使用Microsoft.Phone.Tasks.EmailComposeTask使用內置的郵件客戶端撰寫電子郵件:

var task = new EmailComposeTask {To = email}; 
    task.Show(); 

或者你可以發佈數據到第三方服務,如SendGrid通過API發送電子郵件。

沒有SMTP Windows Phone上可用的API。

+0

謝謝你的回答! – user2087149 2013-02-20 14:17:14

2

您也可以使用第三方庫LiveMailMesage。您必須爲此付費,但它可以讓您在不啓動EmailComposeTask的情況下發送電子郵件。如果需要,它還可以讓你添加附件和類似的東西。

8

這真的很簡單!這是MSDN

首先,你應該加上:

using Microsoft.Phone.Tasks; 

你的代碼,然後進行個性化和去郵件應用程序添加此:

EmailComposeTask emailComposeTask = new EmailComposeTask(); 

    emailComposeTask.Subject = "message subject"; 
    emailComposeTask.Body = "message body"; 
    emailComposeTask.To = "[email protected]"; 
    emailComposeTask.Cc = "[email protected]"; 
    emailComposeTask.Bcc = "[email protected]"; 

    emailComposeTask.Show(); 
+0

我們可以在這裏附加文件而不是在任務UI? – 2014-02-04 09:46:57

2

如果你正在開發一個通用WinRT Windows Phone應用程序,您可以使用Windows.ApplicationModel.Email.EmailMessage名稱空間,因爲Microsoft.Phone.Tasks.EmailComposeTask名稱空間不適用於WinRT應用程序。

然後,使用此代碼創建並啓動一封新郵件。

// Create your new email message. 
var em = new EmailMessage() ; 

// Add as much EmailRecipient in it as you need using the following method. 
em.To.Add(new EmailRecipient("[email protected]")); 
em.Subject = "Your Subject..."; 
em.Body = "Your email body..."; 
// You can add an attachment that way. 
//em.Attachments.Add(new EmailAttachment(...); 

// Show the email composer. 
await EmailManager.ShowComposeNewEmailAsync(em); 
0

至於我搜索一下這個沒有System.Net.Mail是不是在Windows Phone的

可用於許多其他情況下(尤其是反饋形式),你可能最好連接到專用網絡服務而不是繞過電子郵件。

而且如果你正在寫的電子郵件客戶端,特別需要連接到郵件服務器則沒有在框中的任何內容,所以你要麼需要連接到服務特定的API(很多現代的郵件服務支持REST客戶端)或自己實現SMTP。

這將是很容易地創建一個API,JSON發送到服務器和SMTP將在那裏進行配置。

+0

這不是問題的答案。 – 2015-08-05 09:44:28

相關問題