Monday, February 20, 2006

JavaMail 替代品 Jakarta Commons Email 的使用及中文問題

Jakarta Commons Email 是一個蠻方便使用的程式庫, 可使讓你輕鬆發送電子郵件.

安裝
我們的應用程式 RUNEC/WE 是 Jboss 環境, 把 commons-email-1.0.jar 放在 JBOSS/server/xxx/lib 下, 它還需要一些 JavaMail 程式庫 ex. activation.jar 也記得放進去.

使用
  1. SimpleEmail 使用例, 請看 http://jakarta.apache.org/commons/email/examples.html
  2. 為了解中文問題, 下面是我們的方法
    • 用 MultiPartEmail
    • 用 UTF-8
    • 範例
      final MultiPartEmail email = new MultiPartEmail();
      email.setHostName(smtp); //smtp server: mail.potix.com
      email.setSmtpPort(port); //port: 25
      email.setCharset("UTF-8");


      email.setFrom(from, fromName);
      email.addTo(to, toName);
      email.addCc(cc, ccName);

      email.setSubject(subject);

      //message, 中文 UTF-8 內容
      email.addPart(message, "text/plain;charset=UTF-8");
      email.send();
  3. 最後我們的應用程式採用 HtmlEmail 加上 Velocity 做模板, 輸出 html 格式電子郵件.
  4. 若你的 html 郵件有影像...要送的話, 你可以參考 1. 文件說明試試,

No comments: