现在的位置: 首页 > 综合 > 正文

JavaMail使用5 — 发送邮件2 — 发送HTML格式邮件

2013年08月28日 ⁄ 综合 ⁄ 共 1574字 ⁄ 字号 评论关闭

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

抱歉!评论已关闭.