ฉันมีแอปพลิเคชัน C # ที่ส่งอีเมลรายงานสเปรดชีต Excel ผ่านเซิร์ฟเวอร์ Exchange 2007 โดยใช้ SMTP สิ่งเหล่านี้ใช้ได้ดีสำหรับผู้ใช้ 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
คุณสมบัติหรือไม่?