这篇文章是要介绍如何要用JavaMail通过需认证的SMTP服务器发HTML格式的邮件。
首先在sun网站上下载JavaMail的实现,和JAF的实现(不知道为啥不放在一起),加入你的classpath。

代码先从Authenticator继承一个class,比如叫SMTPAuthenticator,这个要用于和SMTP服务器连接时做认证的。

 

}

 

然后开始发邮件,

 

如何用JavaMail发邮件    Session sendMailSession = null;
如何用JavaMail发邮件    SMTPTransport transport 
= null;
如何用JavaMail发邮件    Properties props 
= new Properties();
如何用JavaMail发邮件
如何用JavaMail发邮件    
// 与服务器建立Session的参数设置
如何用JavaMail发邮件
    props.put("mail.smtp.host""smtp.163.com"); // 写上你的SMTP服务器。
如何用JavaMail发邮件
    props.put("mail.smtp.auth""true"); // 将这个参数设为true,让服务器进行认证。
如何用JavaMail发邮件
    SMTPAuthenticator auth = new SMTPAuthenticator("user""mypassword"); // 不用多说,用户名,密码。
如何用JavaMail发邮件

如何用JavaMail发邮件    sendMailSession 
= Session.getInstance(props, auth); // 建立连接。
如何用JavaMail发邮件    
// SMTPTransport用来发送邮件。
如何用JavaMail发邮件
    transport = (SMTPTransport) sendMailSession.getTransport("smtp");
如何用JavaMail发邮件    transport.connect();
如何用JavaMail发邮件    
// 创建邮件。
如何用JavaMail发邮件
    Message newMessage = new MimeMessage(sendMailSession);
如何用JavaMail发邮件    newMessage.setFrom(
new InternetAddress("me@163.com"));
如何用JavaMail发邮件    newMessage.setRecipient(Message.RecipientType.TO, 
new InternetAddress("somebody@gmail.com"));
如何用JavaMail发邮件    newMessage.setSubject(
"This a test mail for Java Mail API);
如何用JavaMail发邮件
    newMessage.setSentDate(new Date());
如何用JavaMail发邮件    
如何用JavaMail发邮件    
// 使用MimeMultipart和MimeBodyPart才能发HTML格式邮件。
如何用JavaMail发邮件
    BodyPart bodyPart = new MimeBodyPart();
如何用JavaMail发邮件    bodyPart.setContent(generateEmailBody(), 
"text/html;charset=gb2312"); // 发一个HTML格式的
如何用JavaMail发邮件
    Multipart mp = new MimeMultipart();
如何用JavaMail发邮件    mp.addBodyPart(bodyPart);
如何用JavaMail发邮件    newMessage.setContent(mp);
如何用JavaMail发邮件
如何用JavaMail发邮件    Transport.send(newMessage);
如何用JavaMail发邮件

OK,邮件发出去啦~~

相关文章:

  • 2022-12-23
  • 2022-01-07
猜你喜欢
  • 2021-10-10
  • 2021-12-24
  • 2021-07-18
  • 2022-12-23
  • 2021-11-29
  • 2022-01-23
  • 2021-06-20
相关资源
相似解决方案