首页 > 后端开发 > C++ > 为什么我的内嵌电子邮件图像显示为红色 X,如何修复?

为什么我的内嵌电子邮件图像显示为红色 X,如何修复?

Barbara Streisand
发布: 2025-01-25 01:32:09
原创
809 人浏览过

Why Are My Inline Email Images Showing as Red Xs, and How Can I Fix It?

> 在电子邮件中进行故障排除内联映像

>将图像直接嵌入电子邮件主体可增强可读性,但有时这些图像显示为红色XS。本指南提供了一个解决方案。

这是嵌入图像的校正代码示例:

>
<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的imgsrc AlternateView属性中引用。 "c:/image.png"确保不同电子邮件客户端的兼容性。 这种方法可靠地嵌入图像,以防止红色X问题。 请记住,用实际的文件路径和电子邮件地址替换"yourAddress@yourDomain""recipient@hisDomain"

以上是为什么我的内嵌电子邮件图像显示为红色 X,如何修复?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板