关于发邮件报错535 Error:authentication failed&553 authentication is required

553 authentication is required:这个错误的意思是你必须需要认证。

也就是说,你连接smtp服务器的时候必须使用密码来连接:下面代码红色那句

代码:

 1 @Override
 2     public void run() {
 3         try {
 4             log.info("邮件创建开始了。。。。");
 5             //1.创建session
 6             Session session = Session.getInstance(prop);
 7             //2.开启session的debug模式,可以查看出email发送的情况
 8             session.setDebug(true);
 9             //3.连接发件服务器
10             Transport trans = session.getTransport();
11             trans.connect(prop.getProperty("mail.host"),prop.getProperty("mail.name"), prop.getProperty("mail.password"));
12             //4.创建邮件
13             Message message = createMessageMail(session);
14             //发送邮件
15             trans.sendMessage(message, message.getAllRecipients());
16             trans.close();
17         } catch (Exception e) {
18             log.error("创建邮件发生异常:异常为{}",e.toString());
19             e.printStackTrace();
20         }
21     }

535 Error:authentication failed:这个错误就是认证失败!

相信很多的同学明明用户名和密码填的是对的,就是说认证失败!

我刚开始也是,我简直都要气的吐血了,明明什么都是对的,就是连接不上。事实上是就算你气的再厉害还是没用的

因为这里的密码不是你邮箱的密码,是你的授权码!!!

授权码和你邮箱的密码是不一样的,关于获取授权码大家可以登录到邮件的官网:看我的截图

好了,这里大家的邮件基本是都可以发送啦!

原文地址:https://www.cnblogs.com/zfding/p/8324784.html