0

我有一个向我的客户发送电子邮件的 WCF 服务。该电子邮件正文是html。所以它有 CSS 样式和嵌入的图像。但现在的问题是图像 src 必须作为完整地址给出。那么是否有任何选项可以将图像也作为 wcf 服务的一部分公开并使用该完整地址。

我不想使用 likeResource 选项,因为我使用的是开源电子邮件模板引擎

Town Crier – .NET 的开源电子邮件模板引擎 http://thecodedecanter.wordpress.com/2010/07/19/town-crier-an-open-source-e-mail-templating-engine-for -网/

该引擎需要将图像作为完整地址提供。

任何更好的解决方案将不胜感激。

谢谢,阿拉格桑。

4

1 回答 1

1

如果图像是静态的并且不是太大,您可以使用消息中的LinkedResources属性将它们包含在消息本身中AlternateView

AlternateView html = message.AlternateViews.FirstOrDefault(v => v.ContentType.Name == "text/html");
if (html != null)
{
    LinkeResource img = new LinkedResource(imgFileName, imgMimeType);
    img.ContentId = imgContentName;
    html.AddLinkedResources.Add(img);
}

然后使用URL 语法img.ContentId在消息中引用。"cid:ContentId"因此,如果您为图像提供了 ContentId,"header.jpg"则可以使用以下方法在 HTML 电子邮件中引用它:<img src="cid:header.jpg" />

方便插入小徽标等。

于 2013-02-15T01:28:35.070 回答