Прежде всего, вы забыли позвонить Transport.send()
, чтобы отправить MimeMessage
.
Во-вторых, GMail необходимо настроить для использования соединения TLS или SSL.К вашему Properties
(props
) необходимо добавить следующее:
//To use TLS
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
//To use SSL
props.put("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "465");
Чтобы подключиться к GMail SMTP, используйте метод Transport.connect()
.Я вижу, вы вообще не используете Transport
в своем коде, поэтому добавьте:
Transport transport = session.getTransport();
//Connect to GMail
transport.connect("smtp.gmail.com", 465, "USERNAME_HERE", "PASSWORD_HERE");
transport.send(msg);
В качестве альтернативы, вы можете создать Session
, включив javax.mail.Authenticator
в качестве параметра.
Пример:
Session session = Session.getDefaultInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("USERNAME_HERE", "PASSWORD_HERE");
}
});
Надеюсь, это поможет вам.
Ресурсы: