`
starbhhc
  • 浏览: 629349 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

JavaMail发送HTML格式邮件

阅读更多
/**  
  *   
  * @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中,
重载了这个方法,这样感觉对外开发好一点。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics