gpt4 book ai didi

c# - MimeKit:如何嵌入图像?

转载 作者:可可西里 更新时间:2023-11-01 07:43:02 28 4
gpt4 key购买 nike

我正在使用 MailKit/MimeKit 1.2.7(最新的 NuGet 版本)。

我尝试按照 API documentation 中的示例在电子邮件的 HTML 正文中嵌入图像。 (“使用 BodyBuilder”部分)。

我当前的代码如下所示:

 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 的错(这是我用来接收电子邮件的电子邮件客户端)?

我很感激任何想法(非常感谢 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 (@"<p>Hey!</p><img src=""cid:{0}"">", image.ContentId);

message.Body = builder.ToMessageBody ();

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

问题可能是 Apple 的 multipart/related 实现没有使用 Content-Location header 解析 Image.png 引用图片 mime 部分(可能是因为它是一个相对 URL)。

虽然 cid: URL 类型应该可以工作,但是构建起来有点笨拙,因为您需要知道每个图像附件的 Content-Id 值.

关于c# - MimeKit:如何嵌入图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31406784/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com