民间,
使用创建电子邮件的System.Diagnostics.Process.Start("mailto:
方法,有没有办法将动态附件(不是已保存的文件)添加到电子邮件中?
我和这个question中的人完全一样,但是没有人使用mailto:方法回答。 我只是想知道它是否可能,以及如何做到这一点。
我试过这个但是无济于事:
System.IO.MemoryStream ms = new System.IO.MemoryStream(generatedReport.DocumentBytes);
System.Net.Mime.ContentType ct = new System.Net.Mime.ContentType(System.Net.Mime.MediaTypeNames.Application.Pdf);
Attachment attachment = new Attachment(ms, ct);
attachment.ContentDisposition.FileName = "output.pdf";
System.Diagnostics.Process.Start("mailto:myemail &SUBJECT=Test Subject BODY=Body Text&Attachment=" + attachment);
ms.Close();
感谢任何和所有帮助
答案 0 :(得分:3)
一般来说,the mailto:
URL scheme does not support attachments。因此,如果您需要它可靠地使用附件,则根本不应该使用它。
显然,some mail clients still support passing Attachment=...
,但他们希望...
部分是本地文件的路径。因此,在您的情况下,您需要
mailto:
链接。请注意,您必须保留文件,直到用户实际发送邮件为止,因此您可能需要考虑稍后“清理”这些临时文件。