当我尝试使用JavaMail API发送邮件时收到此错误:
javax.mail.AuthenticationFailedException: 535-5.7.8 Username and Password not accepted
我该如何解决这个问题?
答案 0 :(得分:19)
这对我有用:
答案 1 :(得分:8)
很抱歉来晚了。如果您使用的是Gmail服务器,这可能是您的任务中的问题。
答案 2 :(得分:7)
它对我有用,您必须按照以下步骤配置Gmail帐户:
在“安全性”部分:
您需要将“允许安全级别较低的应用程序:关闭”更改为“允许安全级别较低的应用程序:开启”
答案 3 :(得分:3)
第1步:登录您的Gmail帐户
第2步:点击设置
第3步:点击帐户和导入标签>其他Google帐户设置
第4步:点击安全性
第5步:将“允许安全程度较低的应用程序”设置为“开”
答案 4 :(得分:2)
登录Gmail帐户,在帐户->
点击安全->关闭两步验证,然后打开“缺乏安全的应用访问权限”
可能是由于上述原因,希望对您有帮助
答案 5 :(得分:1)
我有同样的错误,但是当我从终端运行应用程序时,它消失了。提供了我的电子邮件配置:
spring.mail.host=smtp.googlemail.com
spring.mail.username=weddingcard9999@gmail.com
spring.mail.password=Weddingcard.1
spring.mail.port=587
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.required=true
答案 6 :(得分:0)
您可能遇到此错误,因为来自邮件ID的用户名和密码不匹配。请重新检查您的密码和邮件ID(用户名)。这可能是一个错字。
在某些情况下,Gmail会阻止通过未经授权的外部应用程序或程序登录。 还要登录您的Gmail帐户,检查gmail是否阻止通过Java Mail API程序登录您的帐户。
如果无效,您可以尝试其他一些SMTP服务器(如yahoo,yandex)。
答案 7 :(得分:0)
mail.smtp.host=smtp.gmail.com
,
mail.smtp.port=25
,
mail.smtp.auth=true
mail.smtp.starttls.enable=true
现在,请确保已关闭两步验证
允许安全性较低的应用程序(打开),请点击此链接:-
https://myaccount.google.com/lesssecureapps
答案 8 :(得分:0)
执行以下步骤:
答案 9 :(得分:0)
1。允许安全性较低的应用程序(应打开)。
2。检查Gmail用户名和密码。
public static void main(String[] args) {
final String username = "YourNailId";
final String password = "pasword";
Properties prop = new Properties();
prop.put("mail.smtp.host", "smtp.gmail.com");
prop.put("mail.smtp.port", "587");
prop.put("mail.smtp.auth", "true");
prop.put("mail.smtp.starttls.enable", "true"); //TLS
Session session = Session.getInstance(prop,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
try {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("Tarunsunny143@gmail.com"));
message.setRecipients(
Message.RecipientType.TO,
InternetAddress.parse("balachandralucky2@gmail.com, to_username_b@yahoo.com")
);
message.setSubject("Testing Gmail TLS");
message.setText("Dear Mail Crawler,"
+ "\n\n Please do not spam my email!");
Transport.send(message);
System.out.println("Done");
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
答案 10 :(得分:0)