Cómo establecer un buen nombre para un archivo adjunto de correo electrónico (System.Net.Mail.SmtpClient)

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

Pregunta

Estoy enviando archivos adjuntos usando System.Net.Mail.SmtpClient en C #.
Los nombres de los archivos adjuntos son los mismos que el nombre del archivo que paso al constructor de archivos adjuntos

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

¿Cómo haría para establecer un "agradable"? nombre para el archivo adjunto? Los nombres que tengo actualmente son básicamente identificadores numéricos que indican qué ocurrencia de un informe está adjunto. Mis usuarios buscan algo más amigable como "resultados.xls".

¿Fue útil?

Solución

Consulte Propiedad Attachment.Name :

  

Obtiene o establece el valor del nombre del tipo de contenido MIME en el tipo de contenido asociado con este archivo adjunto.

Puede configurar el Adjunto < code> .Name propiedad de cualquier cosa que desee. En el ejemplo dentro del último enlace, podría tener:

// 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);

Otros consejos

Guarde el archivo adjunto en la carpeta temporal con el nombre deseado y luego adjúntelo. No olvide eliminarlo después de enviar el correo electrónico para que la carpeta temporal no crezca demasiado.

Editar : la respuesta aceptada es mucho mejor, pero la dejaré aquí para otros que sigan el mismo camino de pensamiento y vean cuán incorrecta es.

You can use this constructor for Attachment

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top