Como definir um bom nome para um e-mail (System.Net.Mail.SmtpClient) anexo
-
22-07-2019 - |
Pergunta
Estou enviando anexos usando o System.Net.Mail.SmtpClient em C #.
Os nomes de anexos são o mesmo que o nome do arquivo de eu passar para o construtor anexo
myMail.Attachments.Add(new Attachment(attachmentFileName));
Como eu iria sobre como definir um nome de "bom" para o anexo? Os nomes eu tenho atualmente são basicamente IDs numéricos indicam que a ocorrência de um relatório é anexado. Meus usuários estão procurando por algo mais amigável como "Results.xls".
Solução
Obtém ou define o valor do nome tipo de conteúdo MIME do tipo de conteúdo associado a este anexo.
Você pode definir o Anexo .Name
propriedade para qualquer coisa que você gosta. No exemplo dentro da última ligação, você poderia ter:
// 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);
Outras dicas
Salvar o anexo para a pasta Temp com o nome desejado, em seguida, anexá-lo. Não se esqueça de apagá-lo depois que você enviar o e-mail para a pasta temp não cresce muito grande.
Editar :. A resposta aceita é muito melhor, mas vou deixar isso aqui para os outros que vão pelo mesmo caminho pensamento e ver como é errado