簡體   English   中英

使用Java通過Outlook與郵件合並發送電子郵件

[英]Send email via outlook with mail merge using Java

我的數據庫中有一組聯系人。 我希望我的應用程序為我的客戶構建自定義電子郵件模板。

我的客戶可以設置自定義占位符,例如公司名稱,地址:

例如:

Dear <<name>>,

This is to inform you that our <<company name>>, located in  <<address>> ...

Sincerely,
<<sender>>

設置模板后,我可以將其用作電子郵件的正文。 然后從數據庫中獲取收件人。

我知道java.awt.Desktop包,該包允許我創建一個MAIL URI並使用用戶的默認電子郵件客戶端打開它。 問題是如何將郵件合並合並到其中? 您能指導我介紹現有的庫或解決方案嗎?

使用JavaMail庫發送郵件。 如果搜索“ JavaMail示例”,您將找到很多示例,其中包括: 通過Gmail SMTP示例發送電子郵件 關於占位符,我將只使用String.replace函數。

  1. 您將需要控制如何設置模板中的變量。 我認為您無法解析任意字符串並找出其中是否包含變量。 因此,當用戶添加變量時,請確保將程序可以理解的變量插入電子郵件正文。 沒關系,但我想為完整起見將其添加。

  2. 您可以將電子郵件正文另存為速度模板,確保添加的速度模板語言變量符合標准。 如果要設置復雜的模板,速度會比string.replace()容易。 如果它很簡單,那么String.replace()可以。 http://velocity.apache.org/

  3. 接下來,使用Java郵件庫直接從Java程序發送它,或者使用Desktop類啟動該框的默認電子郵件客戶端。

編輯:

如果您想打開Outlook,則需要使用Desktop.mail()API。 您可以通過構造適當的URI並將其傳遞給Desktop.mail(),在Outlook發送電子郵件窗口中預填充to,cc,bcc,主題和正文字段。

 mailto:duke@sun.com?SUBJECT=Happy New Year!&BODY=Happy New Year, Duke!

在這里查看更多信息: http : //java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/desktop_api/

對於多個收件人,應該使用逗號分隔電子郵件地址。 如果不是這樣,請嘗試使用半冒號。 Outlook使用分號。

暫無
暫無

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

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