我正在使用SendGrid v3 API和C#库(v7)发送电子邮件。 在我的电子邮件中,我有一个标题,这是一个PNG。头部被嵌入这样的:SendGrid - 图像未显示在HTML电子邮件中
<img src="cid:emailheader"/>
在C#代码我将图像作为附件与具有相同内容识别
变种邮件=新邮件(来自,主题,到,内容);
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());
然而,当我打开它说的源文件未找到的电子邮件,即使图像正确显示在附件
我认为你需要嵌入在HTML中邮件正文的图像,而不是做它作为附件。 –
我想你需要设置内联处置'inline'时,附加它来与'cid'一起使用它。看到这里:https://github.com/sendgrid/sendgrid-csharp/blob/master/SendGrid/SendGrid/Helpers/Mail/Mail.cs#L990 –