在C#中设置电子邮件附件名称

Tom*_*len 42 c# email attachment email-attachments

我添加这样的附件:

System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(AttachmentPath);   
msg.Attachments.Add(attachment);   
Run Code Online (Sandbox Code Playgroud)

但是我想把它作为一个不同的名字附加,实际的文件名很长而且令人困惑我想把它作为"file.txt"附加,是否有一种简单的方法可以做到这一点,而无需复制文件?

Kev*_*Kev 70

怎么样:

System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(attachmentPath);
attachment.Name = "file.txt";  // set name here
msg.Attachments.Add(attachment);
Run Code Online (Sandbox Code Playgroud)

  • 这对我有用:attachment.ContentDisposition.FileName ="file.txt"; (4认同)

Joh*_*ley 6

您需要从流中加载附件,然后您可以为其指定名称和媒体类型.

var fs = new FileStream("attachmentPath", FileMode.Open);
var attachment = new System.Net.Mail.Attachment(fs, "MyAttachmentName.txt", "text/text");
Run Code Online (Sandbox Code Playgroud)