将文件附加到电子邮件而不创建文件

时间:2014-03-04 15:18:40

标签: c# asp.net xml email email-attachments

我有一个生成XmlDocument的网页,我必须通过电子邮件发送。

现在,我使用Save方法将XMLDocument保存到光盘,然后将其添加到我的mailMessage附件中。因此,如果我不希望它们开始累积,我将不得不删除这些文件。

我想要的是一种将XML文件添加为附件而无需将其实际保存在磁盘上的方法。

这是可能的,如果是的话,我该怎么做?

2 个答案:

答案 0 :(得分:1)

您可以使用the Attachment constructor that takes a Stream。将XmlDocument保存到MemoryStream,然后将该流传递给附件。

(假设您使用内置的SmtpClient / MailMessage API)

答案 1 :(得分:1)

是的,您可以使用XmlWriter创建xml实例到MemoryStream实例,并使用Attachment类的重载构造函数将其附加到您的电子邮件中。

http://msdn.microsoft.com/en-us/library/ms162617(v=vs.110).aspx

http://msdn.microsoft.com/en-us/library/ab7hb4y5(v=vs.110).aspx