2011-08-22 146 views
35

我添加附件像这样:设置电子邮件附件名称

System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(AttachmentPath); 
msg.Attachments.Add(attachment); 

但我想让它附加为不同的名字,实际的文件名很长,混乱我想它连接作为“file.txt”,是否有一个简单的方法来做到这一点,而不必复制文件?

回答

61

如何:

System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(attachmentPath); 
attachment.Name = "file.txt"; // set name here 
msg.Attachments.Add(attachment); 
+1

这是我工作的东西:attachment.ContentDisposition.FileName =“file.txt”; – MarkHoward02

5

您需要加载从流的连接,然后你可以给它一个名字和一个媒体类型。

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