java邮件发送(以163邮箱为例)

时间:2022-01-29 07:58:53

1.首先应该开通163邮箱的smtp和pop3,得到授权码

2.其次建立一个web项目,否则需要倒jar包mail.jar

3.创建一个类

4.注意:邮件内容必须为正式话语,否则系统会认为是垃圾邮件而拒收,报错541DT

public static void main(String[] args) throws MessagingException {
Properties prop=new Properties();
prop.put("mail.host","smtp.163.com" );
prop.put("mail.transport.protocol", "smtp");
prop.put("mail.smtp.auth", true);
//使用java发送邮件5步骤
//1.创建sesssion
Session session=Session.getInstance(prop);
//开启session的调试模式,可以查看当前邮件发送状态
session.setDebug(true);

//2.通过session获取Transport对象(发送邮件的核心API)
Transport ts=session.getTransport();
//3.通过邮件用户名密码链接
ts.connect("此处应为用户名", "此处应为授权码");

//4.创建邮件

Message msg=createSimpleMail(session);

//5.发送电子邮件

ts.sendMessage(msg, msg.getAllRecipients());
}

public static MimeMessage createSimpleMail(Session session) throws AddressException,MessagingException{
//创建邮件对象
MimeMessage mm=new MimeMessage(session);
//设置发件人
mm.setFrom(new InternetAddress("用户名@163.com"));
//设置收件人
mm.setRecipient(Message.RecipientType.TO, new InternetAddress("用户名@163.com"));
//设置抄送人
mm.setRecipient(Message.RecipientType.CC, new InternetAddress("用户名@163.com"));

mm.setSubject("第一封JAVA邮件!");
mm.setContent("咱们开会把", "text/html;charset=gbk");

return mm;

}