UWP 下如何发邮件?可以使用mailto:xx?subject=*方式发送?

本文:如何在 UWP 使用默认邮件发邮件。

打开设置,应用,默认应用,选择应用 OutLook。这样就和我的一样,如果出错了,那么是邮件不支持。

首先需要找联系人,联系人可以在用户联系找。

            //找到一个联系人//如果是需要用户选发送到哪个联系人,使用下面方法var contactPicker = new ContactPicker();contactPicker.SelectionMode = ContactSelectionMode.Fields;//选择联系人一个项contactPicker.DesiredFieldsWithContactFieldType.Add(ContactFieldType.Email);//选择emailContact 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 发邮件相关推荐

  1. win10 uwp 使用 Microsoft.Graph 发送邮件

    在 2018 年 10 月 13 号参加了 张队长 的 Office 365 训练营 学习如何开发 Office 365 插件和 OAuth 2.0 开发,于是我就使用 UWP 尝试使用 Micros ...

  2. win10 uwp 手把手教你使用 asp dotnet core 做 cs 程序

    本文是一个非常简单的博客,让大家知道如何使用 asp dot net core 做后台,使用 UWP 或 WPF 等做前台. 本文因为没有什么业务,也不想做管理系统,所以看到起来是很简单. Visua ...

  3. win10 uwp 使用 msbuild 命令行编译 UWP 程序

    原文:win10 uwp 使用 msbuild 命令行编译 UWP 程序 版权声明:博客已迁移到 http://lindexi.gitee.io 欢迎访问.如果当前博客图片看不到,请到 http:// ...

  4. win10 UWP Controls by function

    Windows的 XAML UI 框架提供了很多控件,支持用户界面开发库. 我现在做的一个中文版的,很多都是照着微软写,除了注释 我们先学微软做一个简单的frame,新建Page,里面放title和跳 ...

  5. Win10 UWP应用发布流程

    简介 Win10 UWP应用作为和Win8.1 UAP应用不同的一种新应用形式,其上传至Windows应用商店的流程也有了一些改变. 这篇博文记录了我们发布一款Win10 UWP应用的基本流程,希望为 ...

  6. 增值税发票开票软件(税务UKey版) 发邮件提示连接邮件服务器失败

    环境: 联想E14 Win10 专业版 增值税发票开票软件(税务UKey版) 问题描述: 增值税发票开票软件(税务UKey版) 发邮件提示连接邮件服务器失败 解决方案: 1.查看邮箱服务是否开启 2. ...

  7. win10 uwp MVVM入门

    MVVM 是一个强大的架构,基本从 WPF 开始,wr(我说的就是微软)就提倡使用 MVVM.它可以将界面和后台分离,让开发人员可以不关心界面是怎样,全心投入到后台代码编写中. 然后在编写完后台代码后 ...

  8. win10 uwp 商业游戏 1.1.5

    本文是在win10 uwp 商业游戏 基础上继续开发,添加一些无聊的游戏 因为在发布几个月,下载量很少,小伙伴说游戏就玩不到几分钟就不想玩,于是我就想加入其他游戏 下面我来告诉大家如何在游戏中添加多个 ...

  9. win10 UWP GET Post

    win10 应用应该是要有访问网络,网络现在最多的是使用GET,Post,简单的使用,可以用网络的数据:获得博客的访问量. 在使用网络,我们需要设置Package.appxmanifest 网络请求使 ...

最新文章

  1. Linxu终端gcc与gcc -c的区别
  2. python构造方法与java区别_一张图秒懂Java和Python的区别,你知道吗?
  3. 前端如何转换 schema 和 xml
  4. 阿里邮箱发布“Mail+”战略 有望与畅捷通工作圈互通互联
  5. 本网站的幻灯片浏览很好看,不懂谁有这代码?
  6. 1000亿产值、2500万辆销售目标,范迪塞尔代言的雅迪将如何正确“出海”?
  7. 四川大学计算机学院录取,四川大学计算机学院2018年硕士研究生招生拟录取名单及成绩公示...
  8. 04-图像的阈值操作
  9. codeforces 281A-C语言解题报告
  10. 鸿蒙系统被烧毁,华为鸿蒙操作系统再次被质疑 国产是原罪
  11. 如何将sql server数据库转化成sqlite数据库
  12. 三星s4 android8,三星全面支持安卓8.0系统,14款手机更新让人眼红
  13. 浏览器首页被雨林木风篡改( /hao.ylmf.com/u7654.html)
  14. django系列9 --- 迁移相关
  15. 分布式存储Ceph之PG状态详解
  16. java中io的重要性_java中的IO整理
  17. 吉他的分类——新手学哪种吉他更好上手?
  18. 小白猿笔记Day6(面向对象)
  19. 4384---一方通行与最后之作 (sdut oj)
  20. 日本护照持有者可以免签进入全球193个目的地,创下历史记录

热门文章

  1. ubuntu php libzip安装 ./configure报错 checking for libzip... not found configure
  2. 惠普问题笔记本引发170名中国消费者联合投诉【转载】
  3. 英国人工智能简史:从艾伦图灵到DeepMind | 历程
  4. 印有祖师爷图灵的钞票要发行了
  5. 时间管理中的大道理与小行动
  6. 攻坚利器 | KFS助我们力挽狂澜,9天内政务系统开发迁移容灾全搞定!
  7. 金仓KFS for Oracle RAC one node安装部署
  8. 求职信 (application for employment)
  9. 磨砂串口服务器型号,moxa串口服务器3180配置
  10. 雅虎中国推站长天下 鼓励网民当站长广告分成