【问题标题】:Sending embedded image in adf rich text editor to outlook is not working将 adf 富文本编辑器中的嵌入图像发送到 Outlook 不起作用
【发布时间】:2015-02-07 10:54:45
【问题描述】:

我正在使用 Jdeveloper 11g R2,我有这个案例。

我有一个 .jspx 页面,客户可以通过它发送电子邮件。 在正文中,我正在使用 ADF 富文本编辑器。在此 ADF 富文本编辑器中,用户将能够在其中插入图像和文本。图片需要在编辑器中而不是附件中。 通常,如果用户按下 PrtScn 按钮,然后通过编辑器中的屏幕截图,此图像将是屏幕截图。 如果我去源代码,我会发现图像的源代码看起来像这样

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAOECAYA.........>

我还使用 Java Outlook 连接器以便能够将电子邮件发送到 Outlook。 我将编辑器绑定到我的 bean,下面是我发送它的方式:

 `Outlook outlookApplication = new Outlook();
OutlookFolder outbox = outlookApplication.getDefaultFolder(FolderType.OUTBOX);
OutlookMail mail = (OutlookMail) outbox.createItem(ItemType.MAIL);
mail.setSubject("Hello HELLO!!!");
mail.setTo("User");
String edtrContent = geteditor().getValue().toString();
mail.setHTMLBody("<HTML><Body>" + edtrContent + "</Body></HTML>");
mail.send

电子邮件已成功发送到我的 Outlook 邮件,我只能阅读发送的文本。另一方面,我无法看到在富文本编辑器中发送的图像,它显示为一个带有红色 X 的小框。

【问题讨论】:

    标签: java outlook oracle-adf jdeveloper rich-text-editor


    【解决方案1】:

    正如 Dmitry 所注意到的,您需要添加一个嵌入式附件才能将图像添加到邮件正文中。

    1. 使用 Attachments.Add 方法添加附件。
    2. 使用 PropertyAccessor 对象设置 PR_ATTACH_CONTENT_ID 属性。
    3. 为消息正文中的引用设置 cid 值(参见 #2)。

            string img = "<br/><p><o:p><img src=\"" + att.FileName
               + "\" width=1 height=1 border=0 /></o:p></p>";
            item.HTMLBody = item.HTMLBody.Replace("</body>", img + "</body>");
            string PR_ATTACH_CONTENT_ID = "http://schemas.microsoft.com/mapi/proptag/0x3712001E";
            string HIDDEN_ATTACHMENT = "http://schemas.microsoft.com/mapi/proptag/0x7FFE000B";
            var pa = att.PropertyAccessor;
            if (pa != null)
            {
               pa.SetProperty(PR_ATTACH_CONTENT_ID, att.FileName);
               pa.SetProperty(HIDDEN_ATTACHMENT, false);
            }

    【讨论】:

    • 此方法允许我插入特定数量的图像。但我想要一种方法,让我处理可变数量的图像,例如 ms Outlook Exchange,我可以粘贴任意数量的屏幕截图,而无需保存图像,然后链接它。发送电子邮件的用户可能会通过几个屏幕截图,或者他根本不会发送任何屏幕截图。这取决于他的选择。可以这样做吗?谢谢你:)
    【解决方案2】:

    Outlook 中的 HTML 邮件由 Word 而非 IE 呈现。 Word 不处理嵌入的 (src=data/image) 图像。

    您可以引用外部图像或图像附件&lt;img src="cid:xyz"&gt;,其中 xyz 是图像附件的 Content-ID MIME 标头的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多