我有一个C#应用程序,它通过电子邮件发送Excel电子表格报告通过Exchange2007服务器使用SMTP。这些附件对于Outlook用户来说很好,但对于Thunderbird和Blackberry用户来说,附件已经被重新命名为"Part 1.2“。
我找到了这个 article ,它描述了这个问题,但似乎没有给我一个解决办法。我无法控制Exchange服务器,因此无法在那里进行更改。在C#端有什么我能做的吗?我尝试过对正文使用短文件名和HTML编码,但这两种方法都没有用。
我的邮件发送代码很简单:
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);