Как установить красивое имя для вложения электронной почты (System.Net.Mail.SmtpClient)
-
22-07-2019 - |
Вопрос
Я отправляю вложения с помощью 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);
Другие советы
Сохраните вложение во временную папку с нужным именем, затем прикрепите его. Не забудьте удалить его после отправки электронного письма, чтобы временная папка не стала слишком большой.
Изменить . Принятый ответ гораздо лучше, но я оставлю это здесь для других, которые пойдут тем же путем и увидят, насколько он неправильный.