我正在尝试从我的 Java Play 2.10 应用程序通过 SendGrid 发送一封简单的测试电子邮件。我正在使用 play-plugins-mailer 发送电子邮件并拥有一个免费的(heroku)SendGrid 帐户。这是我迄今为止所做的一切:
- 将 play-plugins-mailer 依赖项添加到我的 Build.scala
- 将 CommonsMailerPlugin 添加到我的 play.plugins 文件中
在我的控制器中添加了以下代码以发送电子邮件:
MailerAPI mail = play.Play.application().plugin(MailerPlugin.class).email(); mail.setSubject("test subject"); mail.addRecipient("test@gmail.com"); mail.addFrom("testapp@heroku.com"); mail.send("some text");
在我的 application.conf 中添加了以下内容:
smtp.host="smtp.sendgrid.net" smtp.user="[my-sendgrid-user]" smtp.pass="[my-sendgrid-pass]" smtp.port="587" smtp.channel=plain
我很确定 Mailer 工作正常,这似乎是 SendGrid 配置问题。执行此代码时,我收到此错误:
[RuntimeException:org.apache.commons.mail.EmailException:将电子邮件发送到以下服务器失败:smtp.sendgrid.net:587]
我已经尝试在我的本地机器以及在我将 SendGrid 插件添加到我的应用程序的 heroku 上运行它。