首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

.NET 發送內嵌圖片郵件正確姿勢:ContentId + Inline 附件 + cid 引用

     編輯:關於.NET

前言

企業郵件常需圖文並茂。專業做法是將圖片作為內聯附件嵌入郵件,而非引用外部連結。.NET 中僅需三步驟即可正確實現。

三步驟關鍵設定

  1. 設定附件 ContentId 為自訂名稱(如 "MyPic")
  2. 設定 ContentDisposition.Inline = true 標記為內聯附件
  3. HTML 正文以 cid:自訂名稱 引用(如 <img src="cid:MyPic" />)

完整測試代碼

MailMessage mail = new MailMessage();
mail.From = new MailAddress("from@test.com");
mail.To.Add("to@test.com");
mail.Subject = "內嵌圖片測試";
mail.IsBodyHtml = true;

// 建立內聯附件
Attachment inline = new Attachment(@"C:\test.png");
inline.ContentId = "MyPic";
inline.ContentDisposition.Inline = true;
mail.Attachments.Add(inline);

// HTML 正文引用
mail.Body = @"<img src=""cid:MyPic"" /><br/>
<a href=""cid:MyPic"" target=""_blank"">點擊在新視窗開啟圖片</a>";

SmtpClient client = new SmtpClient("smtp.test.com");
client.Credentials = new NetworkCredential("user", "pwd");
client.Send(mail);

最終郵件原始碼片段:

<img src="cid:MyPic" /><a href="cid:MyPic" target="_blank">點擊在新視窗開啟圖片</a>

實測效果

Gmail 收信:

126 信箱:

優勢

  • 離線閱讀仍可看到圖片(桌面郵件用戶端同理)
  • 不依賴外部圖床,避免連結失效
  • 支援超連結點擊放大檢視

結語

掌握 ContentId + Inline + cid: 三要素,即可在 .NET 輕鬆發送專業級內嵌圖片郵件。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved