【问题标题】:Embedding an image in email body在电子邮件正文中嵌入图像
【发布时间】:2012-02-01 00:52:12
【问题描述】:

我正在为 Outlook 2007 创建一个插件,我正在尝试将图像嵌入到新电子邮件中。我无法让图像嵌入工作,请帮忙。我的代码如下:

 private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        Outlook.Inspectors inspectors;
        inspectors = this.Application.Inspectors;
        inspectors.NewInspector +=
        new Microsoft.Office.Interop.Outlook.InspectorsEvents_NewInspectorEventHandler(Inspectors_NewInspector);
    }

    private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
    {
    }

    void Inspectors_NewInspector(Microsoft.Office.Interop.Outlook.Inspector Inspector)
    {
        Outlook.MailItem mailItem = Inspector.CurrentItem as Outlook.MailItem;
        if (mailItem != null)
        {
            if (mailItem.EntryID == null)
            {
                mailItem.Subject = "This text was added by using code";
                mailItem.HTMLBody = "<html><body>this is a <img src=" + @"C:\Users\Public\Pictures\Sample Pictures\Chrysanthemum.jpg> embedded picture.</body></html>";
                //mailItem.HtmlBody = "<html><body>this is a <img src=\"cid:" + @"C:\Users\Public\Pictures\Sample Pictures\Chrysanthemum.jpg" + "\"> embedded picture.</body></html>";
            }

        }
    }

但这不显示图像。请帮忙。

提前致谢。

【问题讨论】:

标签: c# outlook-addin outlook-2007


【解决方案1】:

虽然我没有直接使用 Outlook 组件,但您需要将图像嵌入到邮件中。您在上面的代码中所做的只是创建一个引用本地硬盘驱动器上的图像的字符串。

在我的世界里,我使用 .NET 邮件组件,所以对此持保留态度,但概念应该转移。我做这样的事情:

AlternateView htmlView = AlternateView.CreateAlternateViewFromString(model.MessageBody_Html, null, MediaTypeNames.Text.Html);

ImgStream   = new MemoryStream(media.MediaData); 
linkedImage = new LinkedResource(ImgStream, MediaTypeNames.Image.Jpeg);
linkedImage.ContentId    = "img_" + media.MediaID;
linkedImage.TransferEncoding    = TransferEncoding.Base64;
htmlView.LinkedResources.Add(linkedImage);

此外,在创建 HTML 消息时,最好包含纯文本版本。

【讨论】:

  • 您好,请您发布一些代码来完成此操作。谢谢。
猜你喜欢
  • 2014-02-16
  • 2018-07-05
  • 2016-09-07
  • 1970-01-01
  • 2019-12-12
  • 2013-08-31
  • 1970-01-01
  • 1970-01-01
  • 2011-10-06
相关资源
最近更新 更多