當使用System.Net.Mail命名空間發送帶有任何雅虎帳戶附件的電子郵件時,附件將以「無標題」名稱而不是文件名進行下載。沒有文件名的附件
在雅虎郵件界面中,附件使用正確的名稱查找,但是當您下載它時,下載名稱會轉到所有附件的「無標題」。 Gmail,Outlook.com,Windows Live Mail和其他客戶端的電子郵件信息都很好。
查看原始消息,它強制使用名稱但不帶文件名屬性的內容類型。雅虎工作正常,如果文件名屬性設置,但C#庫不使用此。
這是用C#爲附件生成的頭:
Content-Type: application/octet-stream; name=test.pdf
這是與雅虎的作品標題:
Content-Type: application/octet-stream; name=file2; filename=test.pdf
任何人得到這個問題這麼遠? C#默認郵件發送是否有工作需要?
using (var message = new MailMessage("[email protected]", "[email protected]", "Test with attachment", "Test with attachment"))
{
var attachment = new Attachment(@"c:\temp\test.pdf"); // Same result using stream instead path to file.
attachment.Name = "test.pdf"; // Same result without this line.
message.Attachments.Add(attachment);
using (var smtp = new SmtpClient("smtp.domain", 587))
{
smtp.Credentials = new NetworkCredential("[email protected]", "password");
smtp.Send(message);
}
}
您是否嘗試設置附件的名稱屬性?你能告訴我們你的代碼嗎? – HaukurHaf
是的,我試着設置文件名,作爲流發送並傳遞文件路徑。我會把代碼說清楚。 –