在mailitem.HTMLBody中包含来自网站的图像

姆贝内特马

我目前正在开发Microsoft Outlook加载项,它可以在html主体的标签之前添加图像。该图像位于远程服务器上,因此图像标记的来源是http://someserver.com/image.jpg

这完全可以在新电子邮件(也称为新电子邮件)上按预期方式工作,但是,当用户单击答复或出于某种原因转发时,图像源将更改为cid:image001.jpg,而实际图像源将被放入alt标签。

我正在更改send事件的正文,因为我希望在电子邮件写完后添加图像。

在send事件上运行的代码

void OutlookApplication_ItemSend(object Item, ref bool Cancel)
    {

        if (Item is Outlook.MailItem)
        {
            Outlook.MailItem mailItem = (Outlook.MailItem)Item;

            string image = "<img src='http://someserver.com/attach.jpg' width=\"100\" height=\"225\" alt=\"\" />";
            string body = mailItem.HTMLBody;

            body = body.Replace("</body>", image + "</body>");

            mailItem.BodyFormat = Outlook.OlBodyFormat.olFormatHTML;
            mailItem.HTMLBody = body;
        }
    }
姆贝内特马

因此,我找到了一种可行的方法。我最终要做的是创建一个新的mailItem,将现有的mailitem复制到其中,修改并发送该项目,然后取消原始邮件。以下代码显示了我是如何做到的:

void OutlookApplication_ItemSend(object Item, ref bool Cancel)
    {

        if (Item is Outlook.MailItem)
        {
            Outlook.Inspector currInspector;
            currInspector = outlookApplication.ActiveInspector();
            Outlook.MailItem oldMailItem = (Outlook.MailItem)Item;
            Outlook.MailItem mailItem = oldMailItem.Copy();
            string image = "<img src='http://someserver.com/attach.jpg' width=\"1\" height=\"1\" alt=\"\" />";
            string body = mailItem.HTMLBody;

            body = body.Replace("</body>", image+"</body>");

            mailItem.BodyFormat = Outlook.OlBodyFormat.olFormatHTML;
            mailItem.HTMLBody = body;

            mailItem.Send();
            Cancel = true;
            currInspector.Close(Outlook.OlInspectorClose.olDiscard);
        }
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在mailItem htmlbody中获取光标位置

来自分类Dev

MailItem.HtmlBody引发未实现的异常

来自分类Dev

处理Access中的Outlook MailItem发送事件

来自分类Dev

访问VBA Outlook Mailtiem.Body与MailItem.HTMLBody

来自分类Dev

如何在邮件加载项中侦听MailItem事件?

来自分类Dev

从WPF中的Interop.Outlook.MailItem筛选签名

来自分类Dev

如何在Outlook中查看MailItem的链接集合

来自分类Dev

在Windows服务中以MailItem获取打开的Outlook电子邮件

来自分类Dev

如何在Outlook C#中替换MailItem

来自分类Dev

如何从C#中的Outlook获取MailItem的最后回复?

来自分类Dev

如何检查mailItem是否在默认的Outlook Deleted Items文件夹中

来自分类Dev

C#按主题在所有Outlook文件夹中搜索MailItem

来自分类Dev

如何在Visual Studio Outlook加载项中访问某些mailitem属性/方法?

来自分类Dev

C#按主题在所有Outlook文件夹中搜索MailItem

来自分类Dev

如何在 opend 事件中忽略 Mailitem,如果它被打开以供阅读

来自分类Dev

MailItem发送无效使用

来自分类Dev

在Outlook 2013中使用Hotmail EAS提供程序在Hotmail文件夹之间进行MailItem.Move失败吗?

来自分类Dev

将<img src>标记添加到Outlook Mailitem主体在VSTO加载项中不起作用

来自分类Dev

替换MailItem正文中的文本

来自分类Dev

Exchange传输代理退回MailItem

来自分类Dev

Outlook.MailItem-操作失败

来自分类Dev

Outlook Interop MailItem与F#

来自分类Dev

替换MailItem正文中的文本

来自分类Dev

如何从 Explorer 对象获取 MailItem

来自分类Dev

MailItem SaveAs()方法文件类型

来自分类Dev

访问Outlook邮件附件的MailItem属性

来自分类Dev

MailItem移到错误的文件夹

来自分类Dev

在Items.ItemAdd事件之后获取MailItem

来自分类Dev

主题行更改后,VBA移动MailItem

Related 相关文章

  1. 1

    在mailItem htmlbody中获取光标位置

  2. 2

    MailItem.HtmlBody引发未实现的异常

  3. 3

    处理Access中的Outlook MailItem发送事件

  4. 4

    访问VBA Outlook Mailtiem.Body与MailItem.HTMLBody

  5. 5

    如何在邮件加载项中侦听MailItem事件?

  6. 6

    从WPF中的Interop.Outlook.MailItem筛选签名

  7. 7

    如何在Outlook中查看MailItem的链接集合

  8. 8

    在Windows服务中以MailItem获取打开的Outlook电子邮件

  9. 9

    如何在Outlook C#中替换MailItem

  10. 10

    如何从C#中的Outlook获取MailItem的最后回复?

  11. 11

    如何检查mailItem是否在默认的Outlook Deleted Items文件夹中

  12. 12

    C#按主题在所有Outlook文件夹中搜索MailItem

  13. 13

    如何在Visual Studio Outlook加载项中访问某些mailitem属性/方法?

  14. 14

    C#按主题在所有Outlook文件夹中搜索MailItem

  15. 15

    如何在 opend 事件中忽略 Mailitem,如果它被打开以供阅读

  16. 16

    MailItem发送无效使用

  17. 17

    在Outlook 2013中使用Hotmail EAS提供程序在Hotmail文件夹之间进行MailItem.Move失败吗?

  18. 18

    将<img src>标记添加到Outlook Mailitem主体在VSTO加载项中不起作用

  19. 19

    替换MailItem正文中的文本

  20. 20

    Exchange传输代理退回MailItem

  21. 21

    Outlook.MailItem-操作失败

  22. 22

    Outlook Interop MailItem与F#

  23. 23

    替换MailItem正文中的文本

  24. 24

    如何从 Explorer 对象获取 MailItem

  25. 25

    MailItem SaveAs()方法文件类型

  26. 26

    访问Outlook邮件附件的MailItem属性

  27. 27

    MailItem移到错误的文件夹

  28. 28

    在Items.ItemAdd事件之后获取MailItem

  29. 29

    主题行更改后,VBA移动MailItem

热门标签

归档