在电子邮件中嵌入 HTML img 的附件
Embed Attachment to HTML img in an email
我正在使用一个用于单元测试的文件和一个资源文件 ("WorkflowNotifications.resx"),其中包含带有 HTML 代码的字符串和一个 png 图像 ("mail_header.png")。在 HTML 代码中是一张图片,应该是资源文件中的图片。我的目标是将此图像引用到 img 属性的源链接。在这样做时,我应该使用附件 class。我不知道如何处理我初始化的 Attachment 对象以及如何将它添加到源链接。我知道在这个主题上有一个类似的 post,但我的更具体一些,因为我不应该在 HTML 代码中直接引用图像。感谢您的宝贵时间和帮助!
html img代码:
<img src="cid:"{0}" >
目前我在单元测试方法中使用string.Format替换占位符,但是图片显示不出来
获取流的帮助方法:
public static Stream GetMailHeader()
{
return ToStream((Image)MailTemplates.WorkflowNotifications.ResourceManager.GetObject("mail_header"), ImageFormat.Png);
}
private static Stream ToStream(Image image, ImageFormat format)
{
var stream = new System.IO.MemoryStream();
image.Save(stream, format);
stream.Position = 0;
return stream;
}
单元测试方法中的附件对象:
var att = new Attachment(Resources.ResourceGovernor.GetMailHeader(), "mail_header");
ResourceGoverner 只是一个处理大部分资源的 class,而 WorkflowNotifications 是资源文件。
我自己找到了解决办法。对于所有遇到类似问题的人:
只需通过以下方式将附件添加到您的 MailMessage:
mailMessage.Attachments.Add(att);
并将 html 代码更改为:
<img src="mail_header.dat">
我正在使用一个用于单元测试的文件和一个资源文件 ("WorkflowNotifications.resx"),其中包含带有 HTML 代码的字符串和一个 png 图像 ("mail_header.png")。在 HTML 代码中是一张图片,应该是资源文件中的图片。我的目标是将此图像引用到 img 属性的源链接。在这样做时,我应该使用附件 class。我不知道如何处理我初始化的 Attachment 对象以及如何将它添加到源链接。我知道在这个主题上有一个类似的 post,但我的更具体一些,因为我不应该在 HTML 代码中直接引用图像。感谢您的宝贵时间和帮助!
html img代码:
<img src="cid:"{0}" >
目前我在单元测试方法中使用string.Format替换占位符,但是图片显示不出来
获取流的帮助方法:
public static Stream GetMailHeader()
{
return ToStream((Image)MailTemplates.WorkflowNotifications.ResourceManager.GetObject("mail_header"), ImageFormat.Png);
}
private static Stream ToStream(Image image, ImageFormat format)
{
var stream = new System.IO.MemoryStream();
image.Save(stream, format);
stream.Position = 0;
return stream;
}
单元测试方法中的附件对象:
var att = new Attachment(Resources.ResourceGovernor.GetMailHeader(), "mail_header");
ResourceGoverner 只是一个处理大部分资源的 class,而 WorkflowNotifications 是资源文件。
我自己找到了解决办法。对于所有遇到类似问题的人: 只需通过以下方式将附件添加到您的 MailMessage:
mailMessage.Attachments.Add(att);
并将 html 代码更改为:
<img src="mail_header.dat">