>>故障排除嵌入式电子邮件图像:内容ID方法
>>直接将图像嵌入电子邮件体内可改善可读性和用户参与度。 这是通过将图像链接到唯一内容ID来实现的。但是,可能会出现问题,从而导致图像显示为破碎的红色X',而不是正确渲染。
>>解决方案:正确嵌入具有内容ID的图像
>以下代码为使用内容IDS嵌入图像的强大解决方案:
<code class="language-csharp">MailMessage mailWithImg = GetMailWithImg(); MySMTPClient.Send(mailWithImg); // Ensure MySMTPClient is properly configured beforehand 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}\">"; //Simplified HTML AlternateView alternateView = AlternateView.CreateAlternateViewFromString(htmlBody, null, MediaTypeNames.Text.Html); alternateView.LinkedResources.Add(res); return alternateView; }</code>
>说明:
此改进的代码片段可确保正确的图像嵌入:>
GetMailWithImg()
GetEmbeddedImage()
标签。 注意简化和校正的HTML。Guid.NewGuid()
<img>
正确构建AlternateView
MailMessage
此方法的优势:以上是为什么我的嵌入式电子邮件图像显示为红色X而不是渲染?的详细内容。更多信息请关注PHP中文网其他相关文章!