JavaMail使用5 — 發送郵件2 — 發送HTML格式郵件

來源:互聯網
上載者:User

 /**
  *
  * @param smtp
  *            SMTP主機地址
  * @param port
  *            SMTP主機地址連接埠
  * @param user
  *            使用者名稱
  * @param password
  *            密碼
  * @param from
  *            發信人
  * @param to
  *            收信人
  * @param cc
  *            抄送人
  * @param bcc
  *            暗送人
  * @param subject
  *            主題
  * @param body
  *            內容
  * @throws Exception
  */
 public static void send(String smtp, int port, String user,
   String password, String from, String to, String cc, String bcc,
   String subject, String body) throws Exception {
  // 變數聲明
  Properties props = new Properties();// 系統屬性
  // 設定系統屬性
  props.put("mail.transport.protocol", "smtp"); // 使用smtp協議
  props.put("mail.smtp.auth", "true"); // 是否需要郵件認證

  // 獲得郵件會話對象
  Session mailSession = Session.getDefaultInstance(props, null);
  mailSession.setDebug(true);

  // 建立MIME郵件對象
  MimeMessage mimeMsg = new MimeMessage(mailSession);

  // 設定發信人
  mimeMsg.setFrom(new InternetAddress(from));
  // 設定收信人
  if (to != null) {
   mimeMsg.setRecipients(Message.RecipientType.TO, InternetAddress
     .parse(to));
  }

  // 設定抄送人
  if (cc != null) {
   mimeMsg.setRecipients(Message.RecipientType.CC, InternetAddress
     .parse(cc));
  }

  // 設定暗送人
  if (bcc != null) {
   mimeMsg.setRecipients(Message.RecipientType.BCC, InternetAddress
     .parse(bcc));
  }
  // 設定郵件主題
  mimeMsg.setSubject(subject);
  // 設定郵件內容,將郵件body部分轉化為HTML格式
  mimeMsg.setContent(body, "text/html ;charset=gbk");

  // 發送郵件
  Transport transport = mailSession.getTransport();
  transport.connect(smtp, port, user, password);
  transport.sendMessage(mimeMsg, mimeMsg.getAllRecipients());
  transport.close();
 }

 

 

這是一個發送HTML格式的郵件,我簡單的封裝成一個方法。
參數有點多,有些是可選的。
後來,我在開發中為了減少參數,我把參數封裝到一個Map中,
重載了這個方法,這樣感覺對外開發好一點。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.