Как установить красивое имя для вложения электронной почты (System.Net.Mail.SmtpClient)

StackOverflow https://stackoverflow.com/questions/1039664

Вопрос

Я отправляю вложения с помощью System.Net.Mail.SmtpClient в C #.
Имена вложений совпадают с именами файлов, которые я передаю в конструктор вложений

myMail.Attachments.Add(new Attachment(attachmentFileName));

Как мне установить " хороший " название для вложения? Имена, которые у меня есть, в основном представляют собой числовые идентификаторы, указывающие, к какому вхождению отчета прикреплен Мои пользователи ищут что-то более дружелюбное, например " results.xls ".

Это было полезно?

Решение

См. свойство Attachment.Name :

  

Получает или задает значение имени типа содержимого MIME в типе содержимого, связанном с этим вложением.

Вы можете установить вложение < Свойство code> .Name для чего угодно. В примере внутри последней ссылки вы могли бы иметь:

// Create  the file attachment for this e-mail message.
Attachment data = new Attachment(file, MediaTypeNames.Application.Octet);
data.Name = "VeryNiceName.dat"; //(not in original example)
...
message.Attachments.Add(data);

Другие советы

Сохраните вложение во временную папку с нужным именем, затем прикрепите его. Не забудьте удалить его после отправки электронного письма, чтобы временная папка не стала слишком большой.

Изменить . Принятый ответ гораздо лучше, но я оставлю это здесь для других, которые пойдут тем же путем и увидят, насколько он неправильный.

You can use this constructor for Attachment

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top