【问题标题】:Base 64 encoded image send in email ASP.NETBase 64 编码图像在电子邮件 ASP.NET 中发送
【发布时间】:2013-09-21 18:32:41
【问题描述】:

是否有任何工作轮次/替代方法可以在电子邮件中发送图像。 我从图像生成 base64 字符串并将 src 设置为它。 这成功地在浏览器上显示图像,但令我恐惧的是,大多数电子邮件客户端不支持 64 Data URi 方法。

// value below is MemoryStream object holding image
string ImgUrl = "data:image/jpeg;base64," + Convert.ToBase64String(value.ToArray(), 0,    
                 value.ToArray().Length);"

我在我的代码中付出了很多努力。请指导我如何做到这一点。

【问题讨论】:

    标签: c# asp.net outlook mime-types


    【解决方案1】:

    将图片作为附件添加到邮件中,并设置为 ContentId 和 ContentDisposition:

    var attachment = new Attachment(path);
    msg.Attachments.Add(attachment);
    attachment.ContentId = "myimage";
    attachment.ContentDisposition.Inline = true;
    

    然后你可以从你的 HTML 中引用图片:

    <img src="cid:myimage" />
    

    【讨论】:

    • 这里的msg 变量是什么
    • msg 是您要发送的消息的 System.Net.Mail.MailMessage 实例。
    【解决方案2】:

    大多数电子邮件客户端不支持 Base64 编码的嵌入图像。 另一种方法是使用LinkedResources 并附加到邮件正文。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-19
      • 2013-11-18
      • 2015-08-01
      • 2019-02-16
      • 2012-12-11
      • 2016-09-15
      • 1970-01-01
      相关资源
      最近更新 更多