win10 UWP 发邮件
来源:互联网 发布:淘宝外卖确认送达失败 编辑:程序博客网 时间:2024/05/21 15:12
UWP 下如何发邮件?可以使用mailto:xx?subject=*
方式发送?
本文:如何在 UWP 使用默认邮件发邮件。
打开设置,应用,默认应用,选择应用 OutLook。这样就和我的一样,如果出错了,那么是邮件不支持。
首先需要找联系人,联系人可以在用户联系找。
//找到一个联系人 //如果是需要用户选发送到哪个联系人,使用下面方法 var contactPicker = new ContactPicker(); contactPicker.SelectionMode = ContactSelectionMode.Fields;//选择联系人一个项 contactPicker.DesiredFieldsWithContactFieldType.Add(ContactFieldType.Email);//选择email Contact contact = await contactPicker.PickContactAsync();
让用户选择有email的联系,不选择一个联系全部。这句话说的是,在用户选择联系人之后,让他选择联系人的一个项。
选择联系人,选择一个邮箱
如果指定一个联系人让用户发送,如开发者,可以使用:
contact = new Contact() { Emails = { new ContactEmail() { Address = "lindexi_gd@163.com", Description = "UWP 开发者", } } };
然后需要填写主题,内容。可以添加附件,注意附件添加是 StorageFile 。
写一个类来发送,首先使用Windows.ApplicationModel.Email
using Windows.ApplicationModel.Contacts; using Windows.ApplicationModel.Email;
需要主题和内容
var emailMessage = new EmailMessage(); emailMessage.Subject = subject; emailMessage.Body = messageBody;
如何读取 StorageFile ?
if (attachmentFile != null) { var stream = RandomAccessStreamReference.CreateFromFile(attachmentFile); var attachment = new EmailAttachment( attachmentFile.Name, stream); emailMessage.Attachments.Add(attachment); }
然后添加收件人
var email = recipient.Emails.FirstOrDefault<ContactEmail>(); if (email != null) { var emailRecipient = new EmailRecipient(email.Address); emailMessage.To.Add(emailRecipient); }
假如发给多个人,使用 emailMessage.To.Add
list
发邮件很简单,await EmailManager.ShowComposeNewEmailAsync(emailMessage);
就可以让用户发邮件
如果默认不是wr的,那么发送邮件可以出错,于是可以使用另一个方式:
mailto:{email}?subject={subject}&body={messageBody}
如果遇到messageBody有换行可以看到这个方法没有换行。
UWP 发送邮件内容如何换行,messageBody 用的是 html ,所以使用 Uri.EscapeDataString
我写了一个函数,多谢 李继龙 大神,可以传入 email 主题 内容就可以发送
private async Task UniversallyEmail(string email, string subject, string messageBody) { messageBody = Uri.EscapeDataString(messageBody); string url = $"mailto:{email}?subject={subject}&body={messageBody}"; await Launcher.LaunchUriAsync(new Uri(url)); }
代码:http://download.csdn.net/detail/lindexi_gd/9757862
参见:https://docs.microsoft.com/en-us/windows/uwp/contacts-and-calendar/sending-email
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。
- win10 UWP 发邮件
- win10 UWP读写文件
- Win10/UWP开发-Ink
- win10 uwp 通知Toast
- win10 UWP 显示地图
- win10 uwp 参考
- win10 uwp clone
- Win10/UWP 扫描二维码
- win10 UWP FlipView
- win10 UWP button
- win10 UWP 剪贴板 Clipboard
- win10 UWP 应用设置
- win10 UWP 圆形等待
- win10 UWP 标题栏后退
- win10 UWP 单元测试
- win10 UWP RSS阅读器
- win10 UWP Hmac
- win10 UWP GET Post
- NHibernate之旅(24):探索NHibernate二级缓存(下)
- MyBatis 实践 -动态SQL/关联查询
- easyui去掉datagrid的滚动条
- Spring cloud服务发现之服务提供者和服务消费者
- 【BZOJ】4514: [Sdoi2016]数字配对
- win10 UWP 发邮件
- 基于Spark ALS在线推荐系统
- 手动删除Eclipse中SVN账号
- 一份不错的面试题
- 使用c#打印乘法表 打印金字塔
- ajax基本原理和使用
- Service的两种创建方式(startService和bindService)的使用
- elasticsearch-prefix 前缀查询优劣
- Win7 Python guiqwt 开发环境搭建