一段时间以来,我一直在使用 SendGrid 服务发送电子邮件。我们对发送带有电子邮件附件的新要求。当我将附件作为附件发送(处置 type =“ 附件”)时,所有这些都工作正常。但是,当我发送带有嵌入式附件(即嵌入到电子邮件中)的电子邮件时,看不到附件( Disposition type =“ inline ”)。>
阅读文档时,您需要在发送内嵌图片时为附件的 ContentId 设置一个值。我已经为所有内联附件设置了 ContentId ,但是它仍然无法正常工作。
我正在将 ContentId 的值设置为GUID,因为文档指出其值应该是唯一的。
这是我的用于在邮件中添加附件的代码。
msg.Attachments = new List<Attachment>();
foreach (var attachment in messageToSend.Attachments)
{
string contentId = "";
if (attachment.Disposition == SendGridDispositionType.inline)
{
contentId = Guid.NewGuid().ToString();
}
Attachment sendgridAttachment = new Attachment
{
Content = attachment.Content,
Type = attachment.MimeType,
ContentId = contentId,
Disposition = attachment.Disposition.GetDescription(),
Filename = attachment.Filename
};
msg.Attachments.Add(sendgridAttachment);
}
SendGridDispositionType 是我创建的一个枚举,用于简化 Disposition 的值设置。
我正在使用 SendGrid
的v9.9.0