我已经写了以下代码来发送邮件
以前它工作但现在它不再工作了。
有人可以帮我解决我的问题吗?
public void send(String to, String subject, String msg,final String user,
final String pass) {
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.port", "587");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
Session session = Session.getInstance(props,new GmailAuthenticator(user, pass));
try {
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(user));
message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));
String msgBody = GetUserPassword(userid);
message.setSubject(subject);
message.setText(msg);
// 3rd step)send message
Transport.send(message);
System.out.println("Done");
} catch (Exception e) {
throw new RuntimeException(e);
}
}
答案 0 :(得分:0)
您可能必须使用新的"启用安全性较低的应用程序"在Gmail中设置。使用oauth2令牌(使用SMTP MSA或Gmail REST API)比使用密码存储+更好,并且不需要在Gmail中禁用该安全检查。