Tengo una aplicación C # que envía por correo electrónico informes de hoja de cálculo de Excel a través de un servidor Exchange 2007 mediante SMTP. Estos llegan bien para los usuarios de Outlook, pero para los usuarios de Thunderbird y Blackberry los archivos adjuntos han sido renombrados como "Parte 1.2".
Encontré este artículo que describe el problema, pero no parece darme una solución. No tengo control del servidor Exchange, por lo que no puedo realizar cambios allí. ¿Hay algo que pueda hacer en el extremo de C #? Intenté usar nombres de archivo cortos y codificación HTML para el cuerpo, pero ninguno hizo una diferencia.
Mi código de envío de correo es simplemente esto:
public static void SendMail(string recipient, string subject, string body, string attachmentFilename)
{
SmtpClient smtpClient = new SmtpClient();
NetworkCredential basicCredential = new NetworkCredential(MailConst.Username, MailConst.Password);
MailMessage message = new MailMessage();
MailAddress fromAddress = new MailAddress(MailConst.Username);
// setup up the host, increase the timeout to 5 minutes
smtpClient.Host = MailConst.SmtpServer;
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = basicCredential;
smtpClient.Timeout = (60 * 5 * 1000);
message.From = fromAddress;
message.Subject = subject;
message.IsBodyHtml = false;
message.Body = body;
message.To.Add(recipient);
if (attachmentFilename != null)
message.Attachments.Add(new Attachment(attachmentFilename));
smtpClient.Send(message);
}
Gracias por cualquier ayuda.
Name
muestra como el nombre del archivo adjunto cuando se recibe el correo electrónico con el archivo adjunto. Entonces puedes probar cualquier valor.
Attachment.Name
propiedad?