1 import javax.mail.Message; 2 import javax.mail.Session; 3 import javax.mail.Transport; 4 import javax.mail.internet.InternetAddress; 5 import javax.mail.internet.MimeMessage; 6 import java.util.Properties; 7 8 /** 9 * 发送一封只包含文本的简单邮件 10 */ 11 public class Sendmail { 12 13 /** 14 * @param args 15 * @throws Exception 16 */ 17 public static void main(String[] args) throws Exception { 18 Properties prop = new Properties(); 19 prop.setProperty("mail.host", "smtp.163.com"); 20 prop.setProperty("mail.transport.protocol", "smtp"); 21 prop.setProperty("mail.smtp.auth", "true"); 22 //使用JavaMail发送邮件的5个步骤 23 //1、创建session 24 Session session = Session.getInstance(prop); 25 //开启Session的debug模式,这样就可以查看到程序发送Email的运行状态 26 session.setDebug(true); 27 //2、通过session得到transport对象 28 Transport ts = session.getTransport(); 29 //3、使用邮箱的用户名和密码连上邮件服务器,发送邮件时,发件人需要提交邮箱的用户名和密码给smtp服务器,用户名和密码都通过验证之后才能够正常发送邮件给收件人。 30 ts.connect("smtp.163.com", "***@163.com", "授权密码"); 31 //4、创建邮件 32 Message message = createSimpleMail(session); 33 //5、发送邮件 34 ts.sendMessage(message, message.getAllRecipients()); 35 ts.close(); 36 } 37 38 /** 39 * 创建一封只包含文本的邮件 40 */ 41 public static MimeMessage createSimpleMail(Session session) throws Exception { 42 //创建邮件对象 43 MimeMessage message = new MimeMessage(session); 44 //指明邮件的发件人 45 message.setFrom(new InternetAddress("***@163.com")); 46 //指明邮件的收件人 47 message.setRecipient(Message.RecipientType.TO, new InternetAddress("***@qq.com")); 48 //邮件的标题 49 message.setSubject("title"); 50 //邮件的文本内容 51 StringBuffer html = new StringBuffer(); 52 html.append("<!DOCTYPE html><html><head><meta charset="UTF-8"></head><body>"); 53 html.append("<h1 style="color:red;">hello world</h1>"); 54 html.append("</body></html>"); 55 message.setContent(html.toString(), "text/html;charset=UTF-8"); 56 //返回创建好的邮件对象 57 return message; 58 } 59 }
需要2个jar包,mail.jar(javamail)和activation.jar(jaf)