Я использую порт 25 и хост smtp.gmail.com.Я установил для свойства starttls значение true.Но я получаю сообщение об ошибке Не удалось подключиться к хосту, порт smtp.gmail.com 25, время ожидания -1
Порт разрешен в брандмауэре и в сети.
Согласно https://javaee.github.io/javamail/FAQ#proxy почта может быть отправлена с использованием HTTP прокси из javax версии 1.6.0, я использую 1.6.2
, пока мой код
String to = "abc@corporate.com";
String subject = "Test subject";
String msg ="email text";
final String from ="abc@corporate.com";
final String password ="password";
Properties props = new Properties();
props.put("mail.smtp.proxy.host", "xx.xxx.xx.xx");
props.put("mail.smtp.proxy.port", "xxxx");
props.setProperty("mail.host", "smtp.gmail.com");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "25");
props.put("mail.debug", "true");
props.put("mail.smtp.starttls.enable","true");
Session session = Session.getDefaultInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(from,password);
}
});
Transport transport = session.getTransport();
InternetAddress addressFrom = new InternetAddress(from);
MimeMessage message = new MimeMessage(session);
message.setFrom(addressFrom);
message.setSubject(subject);
message.setContent(msg, "text/plain");
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
transport.connect();
Transport.send(message);
transport.close();
}