2018-8-10-win10-UWP-发邮件
| title | author | date | CreateTime | categories |
|---|---|---|---|---|
|
win10 UWP 发邮件
|
lindexi
|
2018-08-10 19:17:19 +0800
|
2018-2-13 17:23:3 +0800
|
Win10 UWP
|
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
2018-8-10-win10-UWP-发邮件的更多相关文章
- win10 UWP 发邮件
UWP 下如何发邮件?可以使用mailto:xx?subject=*方式发送? 本文:如何在 UWP 使用默认邮件发邮件. 打开设置,应用,默认应用,选择应用 OutLook.这样就和我的一样,如果出 ...
- win10 uwp 使用 Microsoft.Graph 发送邮件
在 2018 年 10 月 13 号参加了 张队长 的 Office 365 训练营 学习如何开发 Office 365 插件和 OAuth 2.0 开发,于是我就使用 UWP 尝试使用 Micros ...
- #题目:有10 台被监控主机、一台监控机,在监控机上编写脚本,一旦某台被监控机器/ 分区适用率大于80%, 就发邮件报警放到crontab 里面, 每10 分钟检查一次
#题目:有10 台被监控主机.一台监控机,在监控机上编写脚本,一旦某台被监控机器/ 分区适用率大于80%, 就发邮件报警放到crontab 里面, 每10 分钟检查一次 #测试机器:虚拟机Linux ...
- 带着新人学springboot的应用10(springboot+定时任务+发邮件)
接上一节,环境一样,这次来说另外两个任务,一个是定时任务,一个是发邮件. 1.定时任务 定时任务可以设置精确到秒的准确时间去自动执行方法. 我要一个程序每一秒钟说一句:java小新人最帅 于是,我就写 ...
- win10 uwp 手把手教你使用 asp dotnet core 做 cs 程序
本文是一个非常简单的博客,让大家知道如何使用 asp dot net core 做后台,使用 UWP 或 WPF 等做前台. 本文因为没有什么业务,也不想做管理系统,所以看到起来是很简单. Visua ...
- Win10/UWP开发—使用Cortana语音与App后台Service交互
上篇文章中我们介绍了使用Cortana调用前台App,不熟悉的移步到:Win10/UWP开发—使用Cortana语音指令与App的前台交互,这篇我们讲讲如何使用Cortana调用App的后台任务,相比 ...
- Win10 UWP应用发布流程
简介 Win10 UWP应用作为和Win8.1 UAP应用不同的一种新应用形式,其上传至Windows应用商店的流程也有了一些改变. 这篇博文记录了我们发布一款Win10 UWP应用的基本流程,希望为 ...
- win10 uwp MVVM入门
MVVM 是一个强大的架构,基本从 WPF 开始,wr(我说的就是微软)就提倡使用 MVVM.它可以将界面和后台分离,让开发人员可以不关心界面是怎样,全心投入到后台代码编写中. 然后在编写完后台代码后 ...
- 【广告】win10 uwp 水印图床 含代码
本文主要是广告我的软件. 图床可以加速大家写博客上传图片的时间,通过简化我们的操作来得到加速. 在写博客的时候,我们发现,我们需要上传一张图片,需要先打开图片,然后选择本地图片,然后上传. 但是我经常 ...
- win10 uwp 商业游戏
本文告诉大家去做一个商业游戏,游戏很简单,几乎没有什么技术 游戏的开始,需要添加框架库,于是引用我自己写的库. 首先是创建一个启动页面,这个页面是显示启动的. 在显示启动的时候,是需要加载游戏需要使用 ...
随机推荐
- [php代码审计] 哈希长度拓展攻击
已知: 1. salt的长度. 2. message==“adminadmin”. 3. MD5(salt+message)的值. 求: MD5(salt+message+填充数据+任意字符串)的值. ...
- 神仙dcx出的一道题
题目大意 \(\;\;\)在一个坐标系上, 以\((0, 0)\)为起点, 每走一步,可以从\((x,y)\)走到\((x+1,y),(x-1,y),(x,y+1),(x,y-1)\)中的一个点上, ...
- Test 6.24 T3 水题
问题描述 秋之国首都下了一场暴雨,由于秋之国地势高低起伏,不少地方出现了积水. 秋之国的首都可以看成一个 n 行 m 列的矩阵,第 i 行第 j 列的位置高度为 ai,j,首都以外的地方的高度可以都看 ...
- c# 生成文件目录树
class Program { //遍历目录名含有M00到M11的目录 //生成文件目录树(去除文件名中含有scc\Designer\designer\resx的文件) //生成的文件保存在D:\\a ...
- 全文检索 使用最新lucene3.0.3+最新盘古分词 pangu2.4 .net 实例
开发环境 vs2015 winform 程序 1 首先需要下载对应的DLL 文章后面统一提供程序下载地址 里面都有 2 配置pangu的参数 也可以不配置 采用默认的即可 3 创建索引,将索引存放到本 ...
- 【2019 Multi-University Training Contest 7】
01:https://www.cnblogs.com/myx12345/p/11653845.html 02: 03: 04: 05: 06:https://www.cnblogs.com/myx12 ...
- 【HDOJ6645】Stay Real(堆)
题意:给定一个n个点的堆,每个点有一个值a[i],每个点必须将在其所有儿子被取之后才能被取 有两个人都按最佳策略行动,问结束之后两人分别取的值之和 n<=1e5,1<=a[i]<=1 ...
- 20180715-Java StringBuffer和StringBuilder类
public class Test{ public static void main(String args[]){ StringBuffer sBuffer = new StringBuffer(& ...
- IDEA设置Ctrl+滚轮调整字体大小(转载)
按Ctrl+Shift+A,出现搜索框 输入mouse: 点击打开这个设置:勾选 点击ok,之后就可以通过Ctrl+滚轮 调整字体大小了. 转载自:http://www.cnblogs.com/LUA ...
- JavaScript 利用 filter+正则表达式对 list进行过滤包括模糊匹配
模糊查找 this.users.filter((item)=>{ var reg= new RegExp(this.searchText,'i'); return reg.test(item ...