2017-07-10 76 views
1

我們希望將HTML佈局添加到由DSpace發送的電子郵件消息中。
簡單地將HTML標籤添加到其中一個電子郵件模板作爲'訂閱'不起作用。
我想我們必須做一些Java編程,但我不知道從哪裏開始。
您有沒有人在DSpace eMails中使用過HTML?DSpace消息中的HTML

回答

2

在EMail中添加HTML標籤可以完成,但這需要對默認的EMail類進行一些更改。

它包括以下變化:

  • 當設置上發送實際的消息文本,附加的子類型可以被添加(檢查:https://github.com/DSpace/DSpace/blob/master/dspace-api/src/main/java/org/dspace/core/Email.java#L293)。默認情況下,這需要一個文本和字符集,但有一個額外的「子類型」。將其設置爲「html」可以使郵件正確檢查標籤。
  • 在「EMail」類中,您可以添加一個額外的「subType」變量,默認爲「plain」,例如可以通過setter重寫。 (我不會簡單地將其設置爲每個電子郵件模板的html,因爲檢查現有標記可能會破壞其他模板並且需要一些額外的時間)。
  • 調用「訂閱」模板的實際代碼可以創建郵件並正確設置子類型。
  • 查看「plain」和「html」子類型之間區別的示例圖像。

    "plain" subtype vs "html" subtype

+0

謝謝喬納斯解釋我必須要編輯的腳本。

+0

我的下一個問題是:腳本的哪個部分會將帶有html標籤的模板轉換爲正確格式的消息?還是應該寫出來? –

+0

html標籤的解析已經出現在當前使用的代碼中。 EMail類使用以下內容創建要發送的實際郵件。 MimeMessage包含發送郵件時使用的實際內容,收件人,sentDate等。該類將負責解析從html標記到格式正確的郵件 查看「MimeMessage」的文檔以獲取更多信息。 (這有3個「setText」方法,可讓您使用更具體的參數調用方法。 http://docs.oracle.com/javaee/7/api/javax/mail/internet/MimeMessage.html#setText-java。 lang.String- –