[英]ASP.NET C# Email Attachments Eventually go to 0 Bytes When Sending to Multiple Email Addresses
[英]Sending email in Asp.net / C# with attachments - Issues with Gmail
在 ASP/C# 應用程序中,我發送了一封附有 3 個文件的電子郵件。 這 3 個文件具有相同的類型、相同的擴展名和大致相同的大小(但沒有一個是空的)。 電子郵件已正確發送。 如果我使用outlook打開它,我沒有問題。 我可以看到正文和附加的 3 個文件。
但這是我的問題:如果我將該郵件發送到 Gmail 地址,那么在 Gmail 上我只能看到 2 個附件。
如果我單擊“下載所有附件”圖標(右側),它將下載 2 個可見附件 + 第三個但為空的附件。
真是個奇怪的問題。
還有第四個附件是嵌入的圖像。 並且此圖像在郵件正文中正確顯示。
這是我用來發送郵件的代碼:
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient("SMTP_IP_ADRESS", SMTP_IP_PORT);
mail.From = new MailAddress("MYEMAIL@DOMAIN.COM");
mail.To.Add("GMAIL_EMAIL");
mail.To.Add("OUTLOOK_EMAIL");
mail.Subject = "MSN "+Request.Params["nameMsn"];
Attachment imageAttachment = new
Attachment(Server.MapPath(Url.Content("~/Content/images/image.png")));
string contentID = "logoCare";
imageAttachment.ContentId = contentID;
mail.IsBodyHtml = true;
mail.Body = "<html><body>Have a good day.<br/>Best regards. <br/><br/><img width='200'
src=\"cid:"
+ contentID + "\"></body></html>";
for (int i = 0; i < Request.Files.Count; i++)
{
HttpPostedFileBase file = Request.Files[i];
var attachment = new Attachment(file.InputStream, file.FileName,
MediaTypeNames.Application.Octet);
mail.Attachments.Add(attachment);
}
mail.Attachments.Add(imageAttachment);
SmtpServer.Send(mail);
您看到的第三個空白附件可能是基於 Web 的電子郵件客戶端(如 Gmail)無法管理的 CID 嵌入圖像,同時它可以與 Outlook 等桌面電子郵件客戶端一起使用。 你能驗證一下嗎? 請看這里
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.