MimeKit:如何嵌入图像?
我正在使用MailKit / MimeKit 1.2.7(最新的NuGet版本)。
我尝试通过API文档中的示例(“使用BodyBuilder”部分)将图像嵌入到我的电子邮件的HTML正文中。
我当前的代码如下所示:
var builder = new BodyBuilder(); builder.HtmlBody = @"Hey!
"; var pathImage = Path.Combine(Misc.GetPathOfExecutingAssembly(), "Image.png"); builder.LinkedResources.Add(pathLogoFile); message.Body = builder.ToMessageBody();
我可以发送此电子邮件,实际上图像已附加到电子邮件中。 但它没有嵌入。
我错过了什么吗? 或者这是Apple Mail的错(这是我用来接收电子邮件的电子邮件客户端)?
我很感激任何想法(并非常感谢Jeffrey Stedfast提供这么棒的工具集!!)。
英格玛
尝试更像这样的东西:
var builder = new BodyBuilder (); var pathImage = Path.Combine (Misc.GetPathOfExecutingAssembly (), "Image.png"); var image = builder.LinkedResources.Add (pathLogoFile); image.ContentId = MimeUtils.GenerateMessageId (); builder.HtmlBody = string.Format (@"Hey!
", image.ContentId); message.Body = builder.ToMessageBody ();
如果这对你有用,我会更新文档。
问题可能是Apple的multipart/related
实现没有使用image mime部分上的Content-Location
头解析Image.png
引用(可能是因为它是一个相对URL)。
但是, cid:
URL类型应该可以工作,但由于您需要知道每个图像附件的Content-Id
值,因此构造起来有点尴尬。