UWP 下如何发邮件?可以使用mailto:xx?subject=*
方式发送?
本文:如何在 UWP 使用默认邮件发邮件。
<!--more-->
打开设置,应用,默认应用,选择应用 OutLook。这样就和我的一样,如果出错了,那么是邮件不支持。
首先需要找联系人,联系人可以在用户联系找。
var contactPicker = new ContactPicker();
contactPicker.SelectionMode = ContactSelectionMode.Fields;
contactPicker.DesiredFieldsWithContactFieldType.Add(ContactFieldType.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 ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
分享到:
相关推荐
在UWP(Universal Windows Platform)应用开发中,发送邮件是一项常见的功能需求,尤其适用于企业级应用或者个人通讯工具。...通过学习和理解这些API,你可以创建出功能完善的UWP邮件应用,满足用户的通讯需求。
在Windows 10操作系统中,内置了一系列的应用程序,如邮件、日历、照片、音乐、电影与电视等,这些应用通常被称为"Modern"或"UWP"(通用Windows平台)应用。然而,有些用户可能并不需要所有预装的应用,或者希望优化...
但是LTSB/C也没了应用商店和UWP运行环境,应用商店也是Win10的一大特色! Win10的应用商店也有一些优秀的应用可以代替臃肿的桌面程序。 使用该工具即可在 Windows10 LTSC(2019,1809) 上安装应用商店。 WIN10企业版...
在Windows 10操作系统中启用Mobile Device ...不过,由于MDC已经较旧,对于新的Windows 10版本可能存在一些兼容性问题,因此建议同时寻找替代方案,如Visual Studio的设备模拟器或通用Windows平台(UWP)的调试工具。
用户可以直接在搜索栏中输入关键词,快速找到本地和云端的文件,甚至能搜索到邮件和网页内容。Cortana还能够理解和执行自然语言命令,帮助用户执行复杂的任务,如创建提醒、管理日程等。 安全性和隐私 随着技术的...
例如,一个电子邮件地址字段需要符合特定的格式,一个年龄字段应为正整数且不超过某个值。"含钙的UWP表格验证"提供了以下关键功能: 1. **数据绑定验证**:该框架支持数据绑定验证规则,允许开发者在ViewModel层...
Windows 操作系统开发,转而听取用户的反馈,使用 Windows 10 的用户可以加入 Windows Insider 计划,和全球数百万的Insiders 一起帮助塑造 Windows 10,提供反馈并且为你赞同的反馈投票,成功的案例如邮件和日历中...
Win32 API通常比更现代的UWP(通用Windows平台)API更为底层,因此可能提供更精细的控制,但同时也需要更多的系统级编程知识。开发库可能包括设备枚举、连接、服务发现、数据传输等功能。 2. **MFC例程**:MFC...
10. **应用商店与UWP应用**:了解Windows应用商店,如何下载和管理应用,以及使用通用Windows平台(UWP)应用的特点和优势。 11. **Edge浏览器**:掌握Microsoft Edge的基本操作,如设置默认搜索引擎、保存网页为...
坦克大火 这是一个在线射击游戏,就像other.io游戏一样。 2016年,我使用Unity(移动和PC)开发了一个简单的.io射击游戏... 如果您有任何问题,请给我发电子邮件: 。 支持平台 ★1. Win64的 ★2. ★3. iOS ★4. UWP
此外,Office Add-ins支持跨平台部署,包括Win32、在线版、iPad、Mac、iPhone和Android,以及通用Windows应用程序(UWP)。 【开发愿景】:微软CEO萨提亚·纳德拉(Satya Nadella)强调Office 365是微软最具战略...
8. **开发友好**:开发者可以轻松地将现有Win32或UWP应用转换为MSIX格式,无需重写代码。 综上所述,MSIX作为微软的现代应用程序打包格式,与PowerShell的结合使用,为Windows环境带来了显著的改进。无论是企业级的...