0

我有一个 Win Form 应用程序,它会做一些无聊的会计工作,然后将其数据发送给一些幸运的收件人。我正在使用 Outlook 12.0 互操作对象,我的应用程序环境范围从 XP 上的 office 2003 到 Win 7 上的 office 2007。

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

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

我试过了:

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

  • (在创建一个新的 MailItem 之后) - 抓取 MailItem 的 HTMLBody 并提取包括签名在内的相关部分......由于新的 MailItem 对象与其签名非常不一致,这不起作用。我的意思是有时新项目会包含签名,有时不会!:s 我不知道为什么它并不总是在那里,我的代码的其他部分没有改变!

我在这里阅读了关于 GetInspector 属性的另一篇文章......显然只是调用它会做“一些事情”,并且签名会神奇地出现在您的邮件项目中......不!

我不能做的事情:

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

我在想最好的方法似乎是我原来弄乱 CID 的方法,但我不太了解 Outlook 在后台做什么,所以我很难弄清楚我还需要做什么才能得到与电子邮件一起发送的图像。

希望那里的人对我做错了什么或我可以尝试什么有所了解。

请让我知道代码是否有帮助,我会发布,(尝试的大部分代码都来自这个站点......我只是无法再次找到链接,并试图避免让这个问题变得太长)。

非常感谢

4

1 回答 1

1

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

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

于 2012-11-14T11:16:58.767 回答