Play Mailer Service无法发送电子邮件

时间:2017-02-23 16:33:33

标签: java email playframework playframework-2.5

我在使用播放框架mailer插件发送电子邮件时遇到问题。我按照this answer中的建议尝试启用Gmail帐户的安全设置,但仍然无法发送我的电子邮件。

application.conf中的我的设置:

play.mailer {
  host="smtp.gmail.com"
  port=587
  ssl=yes
  tls=no
  user="l************ay@gmail.com"
  password="****************"
  debug=yes
  timeout=60
  connectiontimeout=60
  mock=no
}

我尝试连接其他端口以及465,正如其他一些相同问题的答案所建议的那样。我发送电子邮件的代码是这样的:

String cid = "1234";
Email email = new Email();
email.setSubject("Verify Account Please");
email.setFrom("l************ay@gmail.com");
email.addTo("l************ay@gmail.com");

email.setBodyHtml("<html><body><p>An <b>html</b> message with cid <img src=\"cid:" + cid + "\"></p></body></html>");
mailerClient.send(email);

但我仍然有以下例外:

enter image description here

以下是我得到的错误:

org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.gmail.com:465

My Play Framework版本为2.5

1 个答案:

答案 0 :(得分:0)

好的,我想出了如何解决它的方法。问题不是我的代码,但它是我的防病毒软件avast Antivirus。我的防病毒保护阻止了smtp的所有调用。我禁用它,一切都很好。我使用gmail而不是TLS电子邮件。我在application.conf中的最终配置是:

play.mailer {
  host = "smtp.gmail.com"
  port = 587
  ssl = no
  tls = yes
  user = "*********@gmail.com"
  password = "**********"
  debug = no
}

我在discussion github论坛上也有一个play-mailer,其中一个开发人员(我推测)很有帮助且经常。我还在那里发布了我的代码。所以遇到麻烦的人也可以得到帮助:)。