簡體   English   中英

如何在JavaMail中發送HTML文件?

[英]How can I send an HTML file in JavaMail?

我正在使用Google App Engine和JavaMail。 在發生特定事件后,我需要向用戶發送一些電子郵件大小的html郵件消息。 如何使用JavaMail發送它們? (它們是60到100行HTML,因此嘗試一次添加一行是相當不合理的。可以一次添加全部嗎?

您將需要使用模板框架來幫助生成電子郵件內容。 它們很容易實現,並且其中一些可以在App Engine環境中很好地工作。

我使用了以下內容:

並發現兩者都做得很好。 這些模板引擎非常強大,並且確實包含條件邏輯,處理相似數據的記錄等內容。

從高層次看,將是這樣的:1)定義您的電子郵件模板(以HTML格式),並將其放入一些WEB-INF/email-templates文件夾中。 這些模板格式將取決於您使用的模板引擎。 其中大多數將具有可替換的參數,例如Hello $ {name}等。

2)在運行時,確定要發送的電子郵件。 您需要告訴模板引擎的是哪個模板文件和將由引擎本身替換的參數映射。 輸出將是一個HTML格式的字符串,您可以隨后使用它。

簡單:

String message ="<b>This is my message!</b>"

Message msg = new MimeMessage(session);
msg.setContent(message, "text/html");

然后,您真正需要做的就是將文件讀入字符串。

例如,請參見如何從文件內容創建Java字符串Java如何讀取完整文本文件

如果您想要一些更現代的東西,可以嘗試把手

另外,我建立了一個輕量級的Webframework,設計用於稱為thundr的 AppEngine上。 使用此功能,您可以使用其支持的任何模板語言(包括jsps)來呈現電子郵件正文。 這使您可以為Web演示文稿和電子郵件使用統一的模板語言。 與使用一種用於網絡的語言和一種用於電子郵件的語言相比,生活變得更加輕松。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM