對電子郵件中的內嵌影像進行故障排除
將圖像直接嵌入到電子郵件正文中可以增強可讀性,但有時這些圖像會顯示為紅色 X。本指南提供了解決方案。
這是嵌入圖像的正確程式碼範例:
<code class="language-csharp">MailMessage mailWithImg = GetMailWithImg(); MySMTPClient.Send(mailWithImg); // Ensure your SMTPClient is properly configured. private MailMessage GetMailWithImg() { MailMessage mail = new MailMessage(); mail.IsBodyHtml = true; mail.AlternateViews.Add(GetEmbeddedImage("c:/image.png")); mail.From = new MailAddress("yourAddress@yourDomain"); mail.To.Add("recipient@hisDomain"); mail.Subject = "yourSubject"; return mail; } private AlternateView GetEmbeddedImage(string filePath) { LinkedResource res = new LinkedResource(filePath); res.ContentId = Guid.NewGuid().ToString(); string htmlBody = $"<img src=\"cid:{res.ContentId}\"></img>"; // Note the escaped quotes AlternateView alternateView = AlternateView.CreateAlternateViewFromString(htmlBody, null, MediaTypeNames.Text.Html); alternateView.LinkedResources.Add(res); return alternateView; }</code>
此改進的程式碼使用 AlternateViews
將圖片嵌入 HTML 電子郵件中。 唯一的 ContentId
被指派給 LinkedResource
,在 HTML 的 img
標記的 src
屬性中引用。 AlternateView
確保不同電子郵件用戶端之間的相容性。 這種方法可以可靠地嵌入影像,防止紅色 X 問題。 請記得將 "c:/image.png"
、"yourAddress@yourDomain"
和 "recipient@hisDomain"
替換為您的實際文件路徑和電子郵件地址。
以上是為什麼我的內線電子郵件圖像顯示為紅色XS,我該如何修復?的詳細內容。更多資訊請關注PHP中文網其他相關文章!