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".

Foi útil?

Solução

Attachment.Name Propriedade :

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

You can use this constructor for Attachment

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top