javax.mail.AuthenticationFailedException: 535 Error: password expired
时间: 2024-09-07 09:05:59 AIGC 浏览: 248
当你尝试使用 `javax.mail` API 来发送电子邮件时,如果遇到 `AuthenticationFailedException` 并附带错误消息 "535 Error: password expired",这意味着你在进行身份验证时邮件服务器检测到你的密码已过期。SMTP(简单邮件传输协议)服务器通常要求用户定期更新其账户密码以保证安全。
解决这个问题,你需要按照以下几个步骤操作:
1. **检查邮箱设置**:登录到你的电子邮件提供商的网站,查看密码策略是否有提示密码即将过期的信息,如果有,按照他们的指引更新密码。
2. **修改密码**:登录到相应的邮件服务提供商的控制台或客户端应用,并更改你的密码。
3. **刷新认证信息**:在 `javax.mail` 中,如果你使用的是 `Session` 对象进行发送邮件,确保你在设置 `Properties` 时更新了 `mail.password` 属性,传入新的密码。
```java
Properties props = System.getProperties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.host", "smtp.example.com");
props.put("mail.user", "[email protected]");
props.put("mail.password", "new_password");
Session session = Session.getInstance(props,
new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("[email protected]", "new_password");
}
});
```
完成后,尝试重新发送邮件。
阅读全文
相关推荐

















