首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >SendGrid -图像未显示在超文本标记语言电子邮件中

SendGrid -图像未显示在超文本标记语言电子邮件中
EN

Stack Overflow用户
提问于 2016-08-09 16:00:28
回答 1查看 8.6K关注 0票数 2

我正在使用SendGrid v3 API和C#库(v7)发送电子邮件。在我的电子邮件中,我有一个标题,这是一个png。头部是这样嵌入的:

代码语言:javascript
复制
<img src="cid:emailheader"/>

在C#代码中,我使用相同的ContentId将图像作为附件发送

var mail =新邮件(发件人,主题,收件人,内容);

代码语言:javascript
复制
var headerPath = HttpContext.Current.Server.MapPath("~/Resources/email-header.png");

var attachment = new SendGrid.Helpers.Mail.Attachment();
attachment.ContentId = "emailheader";
attachment.Content = Convert.ToBase64String(File.ReadAllBytes(headerPath));
attachment.Type = "image/png";
attachment.Filename = "email-header.png";
mail.AddAttachment(attachment);

var send = sg.client.mail.send.post(requestBody: mail.Get());

然而,当我打开电子邮件时,即使图像正确地显示在附件中,它也显示没有找到源

EN

回答 1

Stack Overflow用户

发布于 2018-06-13 07:06:13

节点

代码语言:javascript
复制
 //imageData= "data:image/png;base64,ine793nfdsf......."

    imageb64 = imageData.replace('data:image/png;base64,' , ''); 
    //remove data:image/png;base64,            

    const msg = {
                to: 'example@gmail.com',
                from: 'test@gmail.com',
                subject: "image attached",
                html :'<img src="cid:myimagecid"/>',
                attachments: [
                  {
                    filename: "imageattachment.png",
                    content: imageb64,
                    content_id: "myimagecid",
                  }
                ]
              };

          sgMail.send(msg);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38845177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档