1

我正在尝试从我的 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 上运行它。

4

3 回答 3

1

你看过这个线程吗? 使用 SendGrid 在 Heroku 中发送邮件

此外,您可能会尝试本教程中描述的 Typesafe 邮件插件:

http://blog.flurdy.com/2012/05/send-email-via-sendgrid-on-heroku-using.html

于 2013-02-21T03:50:16.287 回答
1

我认为您可以使用官方 SendGrid-java Jithub 项目中提供的 Java API。

官方发送网格 Java API

于 2014-11-04T07:26:57.997 回答
0

尝试:

smtp.ssl=true

对我有用

于 2013-02-21T05:38:37.190 回答