本小节介绍如何通过邮件将生成的贺卡发送给朋友。使用到了EmailMessageAPI, 需要引入的命名空间为Windows.ApplicationModel.Email

请确保完成了以前的章节。

MainPage.xaml.cs页面,在SendMail_Click方法中,新定义EmailMessage的对象,将前一节中生成的Wishes.jpg文件作为邮件附件发送给其他人。 添加如下代码:

  1. EmailMessage emailMessage = new EmailMessage();
  2. emailMessage.Body = "Thanksgiving Card from your friend, this is generated by Card App.";
  3. var stream1 = Windows.Storage.Streams.RandomAccessStreamReference.CreateFromFile(file);
  4. var attachment = new Windows.ApplicationModel.Email.EmailAttachment(file.Name, stream1);
  5. emailMessage.Attachments.Add(attachment);
  6. await EmailManager.ShowComposeNewEmailAsync(emailMessage);

修改后, SendMail_Click方法的完整代码如下:

  1. private async void SendMail_Click(object sender, RoutedEventArgs e)
  2. {
  3. RenderTargetBitmap renderTrgBitmap = new RenderTargetBitmap();
  4. await renderTrgBitmap.RenderAsync(gridMsg);
  5. var pixelBuffer = await renderTrgBitmap.GetPixelsAsync();
  6. var file = await KnownFolders.PicturesLibrary.CreateFileAsync("Wishes.jpg", CreationCollisionOption.ReplaceExisting);
  7. using (var stream = await file.OpenAsync(FileAccessMode.ReadWrite))
  8. {
  9. var encoder = await BitmapEncoder.CreateAsync(BitmapEncoder.JpegEncoderId, stream);
  10. encoder.SetPixelData(BitmapPixelFormat.Bgra8,
  11. BitmapAlphaMode.Straight,
  12. (uint)renderTrgBitmap.PixelWidth,
  13. (uint)renderTrgBitmap.PixelHeight,
  14. 96d, 96d,
  15. pixelBuffer.ToArray());
  16. await encoder.FlushAsync();
  17. }
  18. EmailMessage emailMessage = new EmailMessage();
  19. emailMessage.Body = "Thanksgiving Card from your friend, this is generated by Card App.";
  20. var stream1 = Windows.Storage.Streams.RandomAccessStreamReference.CreateFromFile(file);
  21. var attachment = new Windows.ApplicationModel.Email.EmailAttachment(file.Name, stream1);
  22. emailMessage.Attachments.Add(attachment);
  23. await EmailManager.ShowComposeNewEmailAsync(emailMessage);
  24. }

运行程序,单击Get a Wishes按钮,再单击Send to Friend按钮。App将打开邮件程序,新建一个邮件,并将Wishes.jpg添加为邮件附件。

M3: 发送邮件附件(2)的更多相关文章

  1. 解决ci框架php发送邮件附件中文乱码问题

    CI框架发送邮件附件中文出现乱码,是因为php basename()函数不支持中文引起,修改类库 Email.php 文件中 _append_attachments()方法,大致在 1474行 添加如 ...

  2. Linux使用Mutt发送邮件/附件

    使用Mutt发邮件极其方便,只需要一条命令即可发送或者批量发送邮件 功能说明:E-mail管理程序. 语 法:mutt [-hnpRvxz][-a<文件>][-b<地址>][- ...

  3. python备份数据库并发送邮件附件

    记录下自己学习python的过程 这个是进行备份后,并发送邮件附件进行保存的功能. 相对来说比较简陋,可以自行修改,简略步骤,美化过程等. 示例代码: #!/usr/bin/env python # ...

  4. linux mail 发送邮件附件

    在很多场景中我们会使用Shell命令来发送邮件,而且我们还可能在邮件里面添加附件,本文将介绍使用Shell命令发送带附件邮件的几种方式,希望对大家有所帮助. 文章目录 1 使用mail命令 2 使用m ...

  5. C# 发送邮件 附件名称为空

     示例代码: // 1.创建邮件 MailMessage mailMsg = new MailMessage(); mailMsg.To.Add(new MailAddress("test@ ...

  6. python给多个发送邮件附件,参考于《python自动化运维》

    #!/usr/bin/env python #coding: utf-8 #author:luodi date:2015/02/12 #description:this is a send mail ...

  7. 使用python调用email模块发送邮件附件

    使用python调用email模块实现附件发送 需要模块: import datetime import time import sys import mimetypes import smtplib ...

  8. python下载腾讯云慢日志并发送邮件附件

    这里没优化,只是对腾讯云下载慢日志,然后通过邮件发送出去 #!/usr/bin/env python # encoding: utf-8 import json import smtplib impo ...

  9. C++发送邮件和附件

      c++socketnulldelete服务器stream 头文件 /**************************************************************** ...

随机推荐

  1. Normalize.css 初识

    一. 用来干嘛的 一个现代的.准备好了支持 HTML5 技术,并且要替代 CSS Reset 处理样式的理念. Normalize.css 使浏览器渲染所有元素更加一致,并且符合现代标准.它只是针对那 ...

  2. btrfs使用方法

    创建文件系统 mkfs.btrfs 命令建立一个 btrfs 格式的文件系统.可以用如下命令在设备 sda5 上建立一个 btrfs 文件系统,并将其挂载到 /btrfsdisk 目录下: #mkfs ...

  3. hadoop2.0初识1.0

    1.给普通用户设置sudo权限 编辑:[root@life-hadoop /]# nano /etc/sudoers 在文件头部加入:yanglin ALL=(root)NOPASSWD:ALL 保存 ...

  4. Trying to hack Redis via HTTP requests

    Trying to hack Redis via HTTP requests Context Imagine than you can access a Redis server via HTTP r ...

  5. Open source packages on self-driving car

    Autoware https://github.com/CPFL/Autoware.git Open-source software for urban autonomous driving &quo ...

  6. Java中的static关键字解析 转载

    原文链接:http://www.cnblogs.com/dolphin0520/p/3799052.html Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到 ...

  7. Android ListView简单实用

    layout创建: activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/ ...

  8. KO Demo

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  9. iPhone6搜索如何打开?详细使用方法

    iphone6搜索功能在哪?怎么用呢?当iPhone6中安装了太多的应用或者联系人太多时,我们就可以使用iPhone6搜索功能就能快速找到,但是还有很多朋友对于iphone6搜索功能在哪,怎么用还不太 ...

  10. android sdk 更新那些文件

    上篇经验,完成了android开发环境的搭建,相信大家也下载了那1.52G,已经下载好了的Adt_bundle. 那么,我们来点击SDK Manager.exe,看看有些什么吧 2 如图所示,为整个目 ...