2015-05-15 82 views
2

我需要從我的windows phone 8.1應用程序發送一個包含日誌文件的電子郵件。我發現這個way用附件發送郵件WinRT

var mailto = new Uri("mailto:[email protected]&subject=The subject of an email&body=Hello from a Windows 8 Metro app."); 
await Windows.System.Launcher.LaunchUriAsync(mailto); 

是否有指定的附加文件或其他完全地不同方式的特殊參數?

+0

我用DataTransferManager準備的內容,然後讓用戶選擇一個電子郵件應用程序,我成功設置郵件的標題:'request.Data.Properties.Title = loger.GetFileName();'但不是目的地。任何幫助? – tufekoi

回答

5

您應該可以使用EmailMessage class。樣本代碼可以是這樣的:

private async void SendBtn_Click(object sender, RoutedEventArgs e) 
{ 
    EmailMessage email = new EmailMessage { Subject = "Sending test file" }; 
    email.To.Add(new EmailRecipient("[email protected]")); 

    // Create a sample file to send 
    StorageFile file = await ApplicationData.Current.LocalFolder.CreateFileAsync("testFile.txt", Windows.Storage.CreationCollisionOption.ReplaceExisting); 
    await FileIO.WriteTextAsync(file, "Something inside a file"); 

    email.Attachments.Add(new EmailAttachment(file.Name, file)); // add attachment 
    await EmailManager.ShowComposeNewEmailAsync(email); // send email 
} 
+0

非常感謝!我雖然無法使用這些類...我讀了Windows.ApplicationModel.Email命名空間,因爲它只是說「本主題中描述的功能不適用於所有Windows和Windows Phone應用程序。 。etc「 – tufekoi

+0

接受的答案不會將電子郵件附加到任何諸如Outlook之類的win32電子郵件應用程序。附加到電子郵件將只適用於Windows Mail應用程序商店應用程序 – pixel