M3: 发送邮件附件(2)
2015-11-24 17:23
393 查看
本小节介绍如何通过邮件将生成的贺卡发送给朋友。使用到了
请确保完成了以前的章节。
在
修改后,
运行程序,单击Get a Wishes按钮,再单击Send to Friend按钮。App将打开邮件程序,新建一个邮件,并将Wishes.jpg添加为邮件附件。
EmailMessageAPI, 需要引入的命名空间为
Windows.ApplicationModel.Email。
请确保完成了以前的章节。
在
MainPage.xaml.cs页面,在
SendMail_Click方法中,新定义
EmailMessage的对象,将前一节中生成的Wishes.jpg文件作为邮件附件发送给其他人。 添加如下代码:
EmailMessage emailMessage = new EmailMessage(); emailMessage.Body = "Thanksgiving Card from your friend, this is generated by Card App."; var stream1 = Windows.Storage.Streams.RandomAccessStreamReference.CreateFromFile(file); var attachment = new Windows.ApplicationModel.Email.EmailAttachment(file.Name, stream1); emailMessage.Attachments.Add(attachment); await EmailManager.ShowComposeNewEmailAsync(emailMessage);
修改后,
SendMail_Click方法的完整代码如下:
private async void SendMail_Click(object sender, RoutedEventArgs e)
{
RenderTargetBitmap renderTrgBitmap = new RenderTargetBitmap();
await renderTrgBitmap.RenderAsync(gridMsg);
var pixelBuffer = await renderTrgBitmap.GetPixelsAsync();
var file = await KnownFolders.PicturesLibrary.CreateFileAsync("Wishes.jpg", CreationCollisionOption.ReplaceExisting);
using (var stream = await file.OpenAsync(FileAccessMode.ReadWrite))
{
var encoder = await BitmapEncoder.CreateAsync(BitmapEncoder.JpegEncoderId, stream);
encoder.SetPixelData(BitmapPixelFormat.Bgra8,
BitmapAlphaMode.Straight,
(uint)renderTrgBitmap.PixelWidth,
(uint)renderTrgBitmap.PixelHeight,
96d, 96d,
pixelBuffer.ToArray());
await encoder.FlushAsync();
}
EmailMessage emailMessage = new EmailMessage(); emailMessage.Body = "Thanksgiving Card from your friend, this is generated by Card App."; var stream1 = Windows.Storage.Streams.RandomAccessStreamReference.CreateFromFile(file); var attachment = new Windows.ApplicationModel.Email.EmailAttachment(file.Name, stream1); emailMessage.Attachments.Add(attachment); await EmailManager.ShowComposeNewEmailAsync(emailMessage);}
运行程序,单击Get a Wishes按钮,再单击Send to Friend按钮。App将打开邮件程序,新建一个邮件,并将Wishes.jpg添加为邮件附件。
相关文章推荐
- sql: sybase与oracle中insert into select和select into的用法
- 性能调优之MYSQL高并发优化
- jquery视频展示 图片轮播
- C语言实现链表之双向链表(七)尾结点后插入结点
- 一台机器上运行多个ActiveMq
- textview 前面有标签,textview里面关键字标红,有小表情
- [Mysql数据库] 每天自动备份mysql脚本
- 总结SPM,ScSPM,LLC
- matlab quadprog函数 二次规划的matlab解法
- 利用第三方开源框架 PullToRefreshListView 实现下拉刷新
- 为何gpio_to_irq不能静态使用?【转】
- linux下解压.zip压缩包出现乱码的问题解决
- android 中处理崩溃异常并重启程序
- 性能调优之Java系统级性能监控及优化
- 现代密码学实践指南[2015年]
- 基本数据类型与引用数据类型传递
- QT Design Form 积累
- android studio 获取 sha1,md5 for mac
- C语言 HTTP上传文件-利用libcurl库上传文件。
- Rabbimq几个关键参数对性能的影响