Установить имя вложения электронной почты в C # - PullRequest
40 голосов
/ 22 августа 2011

Я добавляю вложение вроде этого:

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

Но я хочу прикрепить его под другим именем, реальное имя файла очень длинное и запутанное. Я хотел бы, чтобы оно было прикреплено как "file.txt", есть ли простой способ сделать это без необходимости копия файла?

Ответы [ 2 ]

68 голосов
/ 22 августа 2011

Как насчет:

System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(attachmentPath);
attachment.Name = "file.txt";  // set name here
msg.Attachments.Add(attachment);
5 голосов
/ 22 августа 2011

Вам необходимо загрузить вложение из потока, а затем вы можете дать ему имя и тип носителя.

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