首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MimeKit:如何嵌入图像?

MimeKit:如何嵌入图像?
EN

Stack Overflow用户
提问于 2015-07-14 12:36:54
回答 2查看 19.9K关注 0票数 26

我正在使用MailKit/MimeKit1.2.7(最新的NuGet版本)。

我试图在我的电子邮件的HTML中嵌入一个图像,方法是遵循API文档中的示例(“使用BodyBuilder”一节)。

我的当前代码如下:

代码语言:javascript
复制
 var builder = new BodyBuilder();

 builder.HtmlBody = @"<p>Hey!</p><img src=""Image.png"">";

 var pathImage = Path.Combine(Misc.GetPathOfExecutingAssembly(), "Image.png");
 builder.LinkedResources.Add(pathLogoFile);
 message.Body = builder.ToMessageBody();

我可以发送这封电子邮件,事实上,图像附在电子邮件上。但它是,而不是嵌入式

我是不是遗漏了什么?或者这是Apple Mail的错(这是我用来接收电子邮件的电子邮件客户端)?

我很感谢你的任何想法(非常感谢杰弗里·斯特福斯特提供了这么好的工具集!!)

英格玛

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-14 20:01:34

尝试更像这样的东西:

代码语言:javascript
复制
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 (@"<p>Hey!</p><img src=""cid:{0}"">", image.ContentId);

message.Body = builder.ToMessageBody ();

如果这对您有用,我将更新文档。

问题可能是苹果的multipart/related实现没有使用图像mime部分的Content-Location头来解决Image.png引用(可能是因为它是一个相对的URL)。

不过,cid: URL类型应该可以工作,但是构造起来有点麻烦,因为您需要知道每个图像附件的Content-Id值。

票数 52
EN

Stack Overflow用户

发布于 2020-01-29 15:25:11

仅供参考,这可以在http://www.mimekit.net/docs/html/Creating-Messages.htm下面找到。原来答案中的链接断了。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31406784

复制
相关文章

相似问题

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