Jon*_*n N 14 .net c# windows email mapi
我正在尝试为我的C#/ .Net应用添加一项功能,以便用户通过电子邮件发送文件.当用户安装了Outlook时,我可以成功使用Outlook互操作API来完成我想要的操作.但是,在新的Windows 10安装中,我无法弄清楚如何在默认的Mail应用程序中打开带有附件的电子邮件,该应用程序来自Windows应用商店.
我试过了:
使用EML文件,按照/sf/answers/1791039771/
使用MAPI32.dll等(我使用了https://github.com/metageek-llc/inSSIDer-2/blob/master/MetaScanner/UnhandledException/MapiMailMessage.cs中的代码)
使用mailto:链接.
也
Windows.ApplicationModel.Email.EmailMessage似乎只能在手机上使用.
我不想使用SMTP发送消息服务器端.
我还尝试了与Mail应用程序关联的MS-UNISTORE_EMAIL:和OUTLOOKMAIL:url方案,它们的行为与mailto相同:
似乎没有任何方法可以从命令行启动Mail应用程序
请尝试以下示例
private async void SendEmailButton_Click(object sender, RoutedEventArgs e)
{
EmailMessage emailMessage = new EmailMessage();
emailMessage.To.Add(new EmailRecipient("***@***.com"));
string messageBody = "Hello World";
emailMessage.Body = messageBody;
StorageFolder MyFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;
StorageFile attachmentFile =await MyFolder.GetFileAsync("MyTestFile.txt");
if (attachmentFile != null)
{
var stream = Windows.Storage.Streams.RandomAccessStreamReference.CreateFromFile(attachmentFile);
var attachment = new Windows.ApplicationModel.Email.EmailAttachment(
attachmentFile.Name,
stream);
emailMessage.Attachments.Add(attachment);
}
await EmailManager.ShowComposeNewEmailAsync(emailMessage);
}
Run Code Online (Sandbox Code Playgroud)
该ShowComposeNewEmailAsny(...)部分是神奇的部分。
| 归档时间: |
|
| 查看次数: |
3093 次 |
| 最近记录: |