Отправить письмо с веб-приложением в Payara 5 - PullRequest
0 голосов
/ 07 июня 2019

У меня запущено веб-приложение на Payara 5, и когда я пытаюсь отправить электронное письмо, оно выдает следующую ошибку:

org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.gmail.com:587
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1138)
at org.apache.commons.mail.Email.send(Email.java:1163)
at coclient.relatorio.RelChamada.enviarPeloGmail(RelChamada.java:177)
...
Caused by: java.lang.NoSuchFieldError: isEC
...
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2175)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:740)
at javax.mail.Service.connect(Service.java:388)
...
at javax.mail.Transport.send(Transport.java:124)
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1128)
....

Но когда я запускаю метод вручную, он работает. Код ниже

public String enviarPeloGmail() {
try {
HtmlEmail email = new HtmlEmail();
email.setHostName("smtp.gmail.com");
email.setSmtpPort(587);
//email.setSslSmtpPort("587");
email.setAuthenticator(new DefaultAuthenticator("remetente@gmail.com", "senha_remetente"));
email.setSSL(true);
email.setTLS(true);

email.setFrom("remetente@gmail.com");
email.setSubject("ENVIO DE EMAIL TESTE PELO SISTEMA");
email.setHtmlMsg("ESTOU MANDANDO EMAIL PELA CONTA DO GMAIL PELO SISTEMA");
email.addTo("destinatario@gmail.com");
email.send();

} catch (EmailException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return null;
}

public static void main(String[] args) {
RelChamada r = new RelChamada();
r.enviarPeloGmail();
}
...