MailMessage保存为eml文件(C#+SmtpClient)

.NET 自从2.0开始,大大提升了 Mail.SmtpClient 的功能,对于发邮件,可谓游刃有余了。但是,美中不足的是没有提供保存邮件内容为eml文件的功能

实际上,SmtpClient 和 MailMessage 已经实现了这个功能,只是这个功能是 NonPublic 的,对于空间外,不可见而已。

利用 Reflector 反编译一下 System.Net.Mail.SmtpClient 可以看到:

在 Send(MailMessage) 方法中,在MAIL被发送之前,是调用了一个 MailWriter fileMailWriter=this.GetFileMailWriter(this.PickupDirectoryLocation);

我们顺藤摸瓜,继续定位 GetFileMailWriter 这个方法

时间: 2024-12-01 20:19:41

MailMessage保存为eml文件(C#+SmtpClient)的相关文章

C#将MailMessage保存为本地eml文件续(.Net+SmtpClient)

在上一篇 MailMessage保存为eml文件(C#+SmtpClient)中,我们使用了反射(Reflection)的方式,调用System.Net.Mail的内部对象 MailWriter 实现了将 MailMessage 的内容保存为 eml 文件. 通过上次的实现,主要是学习反射Reflection的使用思路,起到个抛砖引玉的作用吧,算是 今天,偶尔看到了上次的代码,又重新发现了一个新大陆,使得保存eml文件的工作,变得异常简单了 ,先回到上次解析的地方: 上次的时候,我们对于上面的这

eml文件怎么打开,eml是什么格式呢?

如果想知道eml文件怎么打开,咱们先得知道,eml是什么格式吧pc6.com小编大家大家一起来学习一下,让你成为电脑高手. eml格式是微软公司在Outlook中所使用的一种遵循RFC822及其后续扩展的文件格式,并成为各类电子邮件软件的通用格式. EML 的目标是: 足够丰富,以便用于多种管辖层次的政府选举,以及不同组织类型(比如社区.团体等)的选举. 允许通过多种渠道投票,包括传统的投票站(可以是电子投票)和诸如网页.电话投票.信息站之类的远程系统. 支持多种表式和投票规则,比如优先级排序和

eml文件如何打开

  如果想知道eml文件怎么打开,咱们先得知道,eml是什么格式吧? eml格式是微软公司在Outlook中所使用的一种遵循RFC822及其后续扩展的文件格式,并成为各类电子邮件软件的通用格式. EML 的目标是: 足够丰富,以便用于多种管辖层次的政府选举,以及不同组织类型(比如社区.团体等)的选举. 允许通过多种渠道投票,包括传统的投票站(可以是电子投票)和诸如网页.电话投票.信息站之类的远程系统. 支持多种表式和投票规则,比如优先级排序和累积投票. 解决安全.加密和身份验证的要求. 记录和传

php限制上传文件类型并保存上传文件的方法

 这篇文章主要介绍了php限制上传文件类型并保存上传文件的方法,涉及php针对上传文件的常用操作技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了php限制上传文件类型并保存上传文件的方法.分享给大家供大家参考.具体如下: 下面的代码演示了php中如何获取用户上传的文件,并限制文件类型的一般图片文件,最后保存到服务器 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 3

关于使用java从http接口取数据保存到本地文件的中文乱码处理

关于使用java从http接口取数据保存到本地文件的中文乱码处理 要做到如下几点: 1. 取接口数据,要注意加入编码设置与接口文件本身的编码设置一致,才能取得正确的数据   注意如下的: ins =new InputStreamReader(connection.getInputStream(),"GBK"):   必须加入第二个编码格式参数:参数的值与接口返回的数据的编码格式一致         /**   * 从某个接口取返回数据内容   * @param url   * @ret

收藏夹的网址保存在哪个文件夹里?

  收藏夹怎么删除? 首先打开浏览器,然后在左上角可以看到[收藏夹],点击打开就可以看到浏览器中已经收藏的网址了,之后在需要删除的网址名称上点击鼠标右键,再弹出的选项中,点击删除即可,如下图所示. 如果在浏览器顶部菜单中,没有找到收藏夹入口,请点击打开[工具]--[工具栏],然后再勾选上[收藏夹栏]这样浏览器顶部就可以找到"收藏夹"了,如图. 收藏夹的网址保存在哪个文件夹里? 如果我们收藏的网址太多或者我们需要批量备份收藏的网址话,一个个去删除或者备份就显得非常麻烦,这时候,就需要找到

如何把DataSet保存为XML文件

xml XML和.NET是完全融合的,很多.NET的服务器控件都具备了一种或更多种创建XML文件的能力,DataSet类就包含若干种创建XML文件的方法,在这篇文章中,我们将创建DataSet与XML之间的连接的例子,而这个例子的作用就是从数据库里读出数据填入DataSet对象中,然后再从DataSet对象输出为XML文件保存到磁盘里,当然了 ,我们还可以为XML文件创建与它相关的schema文件.   把DataSet保存为XML文件中的asp.net页面文件(.aspx),简单的甚至可以用可

将Word 2010文档直接保存为PDF文件

在Word 2007中,用户需要安装Microsoft Save as PDF加载项后才能将Word文档保存为PDF文件.而Word 2010具有直接 另存为PDF文件的功能,用户可以将Word 2010文档直接保存为PDF文件,操作步骤如下所述: 第1步,打开Word 2010文档窗口,依次单击"文件"→"另存为"按钮,如图2009121209所 示. 图 2009121209 单击"另存为"按钮 第2步,在打开的"另存为"

简单录、放音并保存为wav文件程序

引言 我是C++的初学者,入门都要靠VCKBASE,好在里面有很多适合于初学者的例子,让我少走了很多弯路,为了回馈大家,我也把我最近刚完成的一个简单的小程序提供给大家,让那些曾经和我一样徘徊在C++大门之外的人能快些掌握要领,大家不妨看一看. 本文以VC知识库第26期 栾义明 先生的<基于API的录音机程序>为基础的,在此深表感谢!相同之处不再重复,我在此基础上增加了将录音保存为wav文件的格式,便于大家参考. 基本步骤及思想:设定音频采集参数(采样率.声道等),打开音频设备.准备wave数据