【问题标题】:Adding a dynamic attachment to an email in c#在 C# 中向电子邮件添加动态附件
【发布时间】:2023-03-22 01:02:01
【问题描述】:

伙计们,
使用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();

感谢您的任何帮助

【问题讨论】:

标签: c# .net winforms mailmessage


【解决方案1】:

一般来说,the mailto: URL scheme does not support attachments。因此,如果您需要它与附件一起可靠地工作,则根本不应该使用它。

显然,some mail clients still support passing Attachment=...,但他们希望 ... 部分是本地文件的路径。因此,在您的情况下,您需要

  • 将文件保存到磁盘(您可以在临时文件夹中使用临时文件名),然后
  • 将文件路径传递给您的mailto: 链接。

请注意,在用户真正发送邮件之前,您必须保留该文件,因此您可能需要考虑稍后“清理”这些临时文件。

【讨论】:

    猜你喜欢
    • 2023-03-21
    • 2011-02-03
    • 2012-06-06
    • 1970-01-01
    • 2019-12-02
    • 1970-01-01
    • 2019-05-05
    • 2020-03-06
    • 2020-11-27
    相关资源
    最近更新 更多