我有一个WCF服务,它会向我的客户发送电子邮件。那个电子邮件正文是html。所以它有CSS样式和嵌入式图像。但现在的问题是图像src必须作为完整地址给出。那么是否有任何选项可以将图像作为wcf服务的一部分公开并使用该完整地址。
我不想使用likesResource选项,因为我使用的是开源电子邮件模板引擎
Town Crier - .NET的开源电子邮件模板引擎 http://thecodedecanter.wordpress.com/2010/07/19/town-crier-an-open-source-e-mail-templating-engine-for-net/
此引擎需要将图像作为完整地址提供。
非常感谢任何更好的解决方案。
谢谢, Alagesan。
答案 0 :(得分:1)
如果图像是静态的而不是太大,您可以使用消息中LinkedResources
的{{1}}属性将它们包含在消息本身中。
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,那么您可以使用以下网址在HTML电子邮件中引用它:"header.jpg"
便于插入小徽标等。