.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