Я не знаком с этой функцией для отправки почты в java. Я получаю сообщение об ошибке при отправке электронной почты для подтверждения пользователя после регистрации.JavaMail javax.mail.AuthenticationFailedException
Ниже код в TextMail:
public class TextMail extends HttpServlet {
static String sender_email = "[email protected]";
static String password = "aaaa1111";
static String host = "smtp.gmail.com";
static String port = "465";
private static class MailAuthenticator extends javax.mail.Authenticator {
@Override
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(sender_email, password);
}
}
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try {
System.out.println("inside textmail");
System.out.println(request.getParameter("to"));
System.out.println(request.getParameter("text"));
System.out.println(request.getParameter("subject"));
String to = request.getParameter("to");
String text = request.getParameter("text");
String subject = request.getParameter("subject");
Properties props = new Properties();
props.put("mail.smtp.user", sender_email);
props.put("mail.smtp.host", host);
props.put("mail.smtp.port", port);
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.socketFactory.port", port);
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.socketFactory.fallback", "false");
Authenticator auth = new MailAuthenticator();
Session session = Session.getInstance(props, auth);
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(sender_email));
message.setSubject(subject);
message.setText(text);
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
Transport.send(message);
System.out.println("execute textmail");
} catch (Exception mex) {
throw new ServletException(mex);
}
}
параметры для приведенного выше кода передается от другого servelet:
response.sendRedirect("TextMail?to="+ul.getEmail()+"&text=path?UID="+u.getIduser()+"&subject=Comfirmation");
и эти параметры успешно перешедших к TextMail
Это означает, что ваш неверный пароль. – SLaks