2009-06-24 2 views
6

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

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

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

ответ

16

См Attachment.Name Property:

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

Вы можете установить Attachment.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); 
+0

Ударьте меня! ;-) +1 – Cerebrus

+1

Описание SO не отражает это. (Да, если вы повернете голову боком и косоглазие, вы можете прочитать это в описании, но оно не выпрыгивает на вас) THANKS –

+0

Всегда ищите «Gets or sets» в свойствах. – gimel

1

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

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

+0

Это просто чувствует себя "грязный" . Это то, что я первоначально предложил сотруднику, но их комментарий был «Есть GOT, чтобы быть лучшим способом» –

 Смежные вопросы

  • Нет связанных вопросов^_^