Ho un'applicazione C# che invia via e-mail i rapporti del foglio di calcolo Excel tramite un server Exchange 2007 tramite 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".Invio di e-mail con allegati da C#, gli allegati arrivano come parte 1.2 in Thunderbird
Ho trovato questo article che descrive il problema, ma non sembra darmi una soluzione. Non ho il controllo del server Exchange, quindi non posso apportare modifiche lì. C'è qualcosa che posso fare sulla fine del C#? Ho provato a usare nomi brevi di file e codifica HTML per il corpo, ma nessuno dei due ha fatto la differenza.
La mia mail di invio codice è 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.
Avete cercato di definire/modificare 'Allegato .Nome' proprietà? – Alex
No, non ho - "Ottiene o imposta il valore del nome del tipo di contenuto MIME", hai un suggerimento su quale valore provare? Grazie. – Jon
Il 'Nome' viene visualizzato come nome dell'allegato quando viene ricevuta l'e-mail con l'allegato. Quindi puoi provare qualsiasi valore. – Alex