47

我添加这样的附件:

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

但是我想让它附加为一个不同的名称,实际的文件名很长而且令人困惑我希望它附加为“file.txt”,有没有一种简单的方法可以做到这一点而不必复制文件?

4

2 回答 2

81

怎么样:

System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(attachmentPath);
attachment.Name = "file.txt";  // set name here
msg.Attachments.Add(attachment);
于 2011-08-22T14:42:47.080 回答
7

您需要从流中加载附件,然后可以为其命名和媒体类型。

var fs = new FileStream("attachmentPath", FileMode.Open);
var attachment = new System.Net.Mail.Attachment(fs, "MyAttachmentName.txt", "text/text");
于 2011-08-22T14:44:26.733 回答