Ho un'applicazione C # che invia tramite posta elettronica i rapporti del foglio di calcolo Excel tramite un server Exchange 2007 utilizzando SMTP. Questi arrivano bene per gli utenti di Outlook, ma per gli utenti di Thunderbird e Blackberry gli allegati sono stati rinominati come "Parte 1.2".
Ho trovato questo articolo che descrive il problema, ma non sembra fornirmi una soluzione alternativa. Non ho il controllo del server Exchange, quindi non posso apportare modifiche lì. C'è qualcosa che posso fare in C #? Ho provato a utilizzare nomi di file brevi e codifica HTML per il corpo, ma nessuno dei due ha fatto la differenza.
Il mio codice di invio della posta è semplicemente questo:
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);
}
Grazie per qualsiasi aiuto.
Name
viene visualizzato come nome del allegato quando viene ricevuto l'e-mail con l'allegato. Quindi puoi provare qualsiasi valore.
Attachment.Name
proprietà?