-1

我需要通过电子邮件发送一个 vcal 文件。我想发送文件而不在磁盘上创建它。我有字符串格式的文件。

4

3 回答 3

1

这就是我认为您在 C# 中寻找的内容

 System.IO.StringReader stream = new System.IO.StringReader("xyz");
 Attachment attach = new Attachment(stream);
 MailMessage msg = new MailMessage();
 msg.Attachments.Add(attach);
 SmtpClient client = new SmtpClient();
 client.Send(msg);

“xyz”应替换为附件的字符串。上面的代码将允许您向 MailMessage 对象添加附件,而无需从磁盘中检索该对象的数据,这就是我认为您的意思,而不是“内存”。

于 2009-04-07T06:10:43.943 回答
0

可能您能做的最好的事情(如果您使用的是图形电子邮件程序)就是将.vcal文件保存到一个临时目录,然后将该路径传递给邮件程序。

您可以使用诸如mktemp.

于 2009-04-07T05:18:17.517 回答
0

我不确定您所说的不“创建内存”是什么意思。操作系统通过将任何文件从磁盘读取到内存缓冲区来工作。因此,该文件很有可能在某个时候仍会驻留在内存中。此外,当您将文件传递给将要分派它的程序或工具时,它也会通过一些内存缓冲区。

于 2009-04-07T05:32:33.253 回答