Пытался написать простенькое учебное приложение для отправки писем по почте при помощи JavaMail API, в качестве SMTP сервера выбрал mail.ru. Но при попытке отправить сообщение выскакивает ошибка авторизации. Мне кажется я не так подключаюсь к сессии.
Код метода отправки письма:
public void sendMessage(String to) {
final String from = this.mail;
final String password = this.password;
String host = "smtp.mail.ru";
Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", host);
props.put("mail.smtp.port", "465");
Session session = Session.getInstance(props,
new javax.mail.Authenticator(){
protected PasswordAuthentication getPassAuth(){
return new PasswordAuthentication(from, password);
}
});
try {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));
message.setSubject("Test message");
message.setText("This message sended by JavaMailApi");
Transport.send(message);
System.out.println("Success");
}catch (MessagingException e){
throw new RuntimeException(e);
}
}
String from - моя почта, с которой я отправляю письмо.
String password - пароль от этой почты.
Ошибка:
Exception in thread "main" java.lang.RuntimeException: javax.mail.AuthenticationFailedException