SMTPを使用してExchange 2007サーバー経由でExcelスプレッドシートレポートを電子メールで送信するC#アプリケーションがあります。これらはOutlookユーザーには問題なく届きますが、ThunderbirdおよびBlackberryユーザーには添付ファイルの名前が「パート1.2」に変更されました。
問題を説明するこの記事を見つけましたが、回避策を提供していないようです。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);
if (attachmentFilename != null)
message.Attachments.Add(new Attachment(attachmentFilename));
smtpClient.Send(message);
}
助けてくれてありがとう。
Name
添付ファイル付きのメールを受信したときに添付ファイルの名前として表示されます。したがって、任意の値を試すことができます。
Attachment.Name
プロパティを定義/変更しようとしましたか?