Outlook 2003+将带有图像的签名嵌入到所有已发送的电子邮件中

时间:2012-11-07 16:35:23

标签: c# .net outlook

我有一个Win Form应用程序,可以执行一些无聊的会计操作,然后将其数据发送给一些幸运的收件人。我正在使用Outlook 12.0 Interop对象和我的应用程序环境,范围从Office 2003 on XP到Office 2007 on Win 7。

我的问题在于发送带有已发送电子邮件的公司签名。 它包含两个图像,我想嵌入这些图像,使它们看起来像是身体的一部分(假设接收邮件客户端支持它)。

我尝试了几种不同的方法来实现这一目标;但仍然没有运气!

我试过了:

  • 从签名文件夹中提取html数据,更改 html img标记src属性以包含'file ///'。这导致Outlook 用'CID'替换'file ///',我认为它也会嵌入 图像...我们永远不应该假设:|。这是我找到的方法 最适合获得其余签名。

  • (创建新的MailItem之后) - 抓取MailItem的HTMLBody 并提取包括签名在内的相关部分...... 没有工作,因为新的MailItem对象非常不一致 有它的签名。我的意思是有时新项目会 包括签名,有时它不会! :s我无法弄清楚为什么它并不总是存在,我的代码的其他部分也没有改变!

我在这里读到关于GetInspector属性的另一篇文章...显然只是调用它会做'有些东西'而且签名会神奇地出现在你的邮件中......不!

我不能做的事情:

  • 我不能(尽可能多)在线推送图像 某处并在电子邮件中指向他们。
  • 我不能使用SMTP(它必须通过Outlook ...叹息)。

我认为最好的方式似乎是我最初使用CID搞乱的方法,但我真的不太了解Outlook在后台做什么,所以我无法弄清楚我还需要什么确保将图像与电子邮件一起发送。

希望有人知道我做错了什么或者我还能尝试什么。

请告诉我,如果代码有用,我会发布,(大部分代码都来自这个网站......我再也找不到链接了,我试图避免让这个问题太长)。< / p>

非常感谢

1 个答案:

答案 0 :(得分:1)

这不是您可以使用的最有效或最灵活的解决方案,但可能是最强大和最便携的。您可以将图像位图转换为纯HTML,并将该HTML嵌入电子邮件签名中。

转换非常简单,您可以使用我编写的实用程序(开源)here

相关问题