2015-02-07 60 views
0

我正在使用Jdeveloper 11g R2,我有這種情況。發送adf富文本編輯器中的嵌入式圖像到Outlook不起作用

我有一個.jspx頁面,客戶可以通過它發送電子郵件。 我正在使用ADF Rich Text Editor。在這個ADF富文本編輯器中,用戶將能夠在其中插入圖像和文本。該圖像需要在編輯器內而不是附件。 通常這個圖像將是一個屏幕截圖,用戶將按下PrtScn按鈕,然後通過編輯器內的屏幕截圖。 如果我去的源代碼,我會發現圖像的源代碼將看起來像這樣

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

我也是使用Java Outlook連接器,以便能夠將郵件發送到Outlook。 我綁定的編輯我的豆及以下就是我要送它:

`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的小方框。

回答

0

正如德米特里注意到的那樣,您需要添加一個嵌入式附件以將圖像添加到消息正文。

  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); 
     
         }

+0

這種方法可以讓我插入圖像的具體數量。但我想要一個方法,讓我處理可變數量的圖像,如MS Outlook交換,我可以粘貼儘可能多的截圖,我不想保存圖像,然後將其鏈接。發送電子郵件的用戶可能會通過幾個屏幕截圖,或者他不會發送任何郵件。這取決於他的選擇。有可能這樣做嗎?謝謝:) – Darwish 2015-02-08 16:06:40

+0

不,它不是。 – 2015-02-08 16:21:36

+0

好的謝謝你的幫助 – Darwish 2015-02-08 20:10:22

0

Outlook中的HTML郵件由Word呈現,而不是IE呈現。 Word不處理嵌入的(src = data/image)圖像。

您可以參考外部圖像或圖像附件<img src="cid:xyz">其中xyz是圖像附件的Content-ID MIME標頭的值。