@trapce

Как отправить сообщение на почту(например Gmail) с сервера GlassFish?

Почему не отправляется сообщение с сервера?
Код отправки:
public class GmailSender {
private static String HOST = "smtp.gmail.com";
private static String USER = "логинGmail";
private static String PASSWORD = "парольGmail";
private static String PORT = "465";
private static String FROM = "от куда";
private static String TO = "кому";

private static String STARTTLS = "true";
private static String AUTH = "true";
private static String DEBUG = "true";
private static String SOCKET_FACTORY = "javax.net.ssl.SSLSocketFactory";
private static String SUBJECT = "тема";
private static String TEXT;

public static void send(String text) {
//Use Properties object to set environment properties
Properties props = new Properties();

props.put("mail.smtp.host", HOST);
props.put("mail.smtp.port", PORT);
props.put("mail.smtp.user", USER);

props.put("mail.smtp.auth", AUTH);
props.put("mail.smtp.starttls.enable", STARTTLS);
props.put("mail.smtp.debug", DEBUG);

props.put("mail.smtp.socketFactory.port", PORT);
props.put("mail.smtp.socketFactory.class", SOCKET_FACTORY);
props.put("mail.smtp.socketFactory.fallback", "false");

try {

//Obtain the default mail session
Session session = Session.getDefaultInstance(props, null);
session.setDebug(true);

//Construct the mail message
MimeMessage message = new MimeMessage(session);
message.setText(text);
message.setSubject(SUBJECT);
message.setFrom(new InternetAddress(FROM));
message.addRecipient(MimeMessage.RecipientType.TO, new InternetAddress(TO));
message.saveChanges();

//Use Transport to deliver the message
Transport transport = session.getTransport("smtp");
transport.connect(HOST, USER, PASSWORD);
transport.sendMessage(message, message.getAllRecipients());
transport.close();

} catch (Exception e) {
e.printStackTrace();
}

}
}

//GmailSender.send("текст");

Тестировал отправку непосредственно с помощью public static void main(bla-bla); - всё работает, но как только пытаюсь сделать тоже самое при вызове метода doPost(bla-bla) на сервере GlassFish4(Local), то ничего не происходит в том числе Exception.
Мои варианты: gmail думает ,что это прокси(и если это так,как мне это решить?) и не пропускает или это связано с "надежными устройствами".Повторюсь, в аккаунте есть разрешения: ненадежные приложения и я пытался добавить новый запрос,как новое устройство https://accounts.google.com/DisplayUnlockCaptcha.
  • Вопрос задан
  • 219 просмотров
Решения вопроса 1
@trapce Автор вопроса
Всё. Решил вопрос тем,что сломал по глупости glassfish4 , и чтобы долго не мучиться
я установил glassfish5 ,и в итоге знаете что???Всё заработало !!! Я не знаю в чём реальная причина ...Но столько нервов ушло и какая-то глупость решила столь для меня великую проблему!!!
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы