我正在尝试在我的游戏中发送电子邮件!框架 1.2.5
应用程序与 Amazon SES
。在我搜索时,我无法在 application.conf 中定义 amazon SES 邮件的配置。我创建了一个在 java 中设置配置的工作。但是我收到以下异常。一整天,我都在尝试让我的应用程序发送电子邮件。但是任何尝试都失败了。我以为你可以帮助我。
我很感激。
@OnApplicationStart
public class Bootstrap extends Job{
@Override
public void doJob() throws Exception {
Properties props = play.libs.Mail.getSession().getProperties();
props.setProperty("mail.transport.protocol","aws");
props.setProperty("mail.smtp.host","email-smtp.eu-west-1.amazonaws.com");
props.setProperty("mail.smtp.port","25");
props.setProperty("mail.aws.user", "...");
props.setProperty("mail.aws.password", "...");
System.out.println("AMAZON SES-MAIL PROPERTIES SET SUCCESSFULY");
}
}
错误
play.exceptions.MailException: Error while sending email
at play.libs.Mail$2.call(Mail.java:186)
at play.libs.Mail$2.call(Mail.java:178)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: org.apache.commons.mail.EmailException: Sending the email to the following server failed : email-smtp.eu-west-1.amazonaws.com:25
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1242)
at org.apache.commons.mail.Email.send(Email.java:1267)
at play.libs.Mail$2.call(Mail.java:183)
... 6 more
Caused by: com.sun.mail.smtp.SMTPSendFailedException: 530 Authentication required
at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1829)
at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1368)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:886)
at javax.mail.Transport.send0(Transport.java:191)
at javax.mail.Transport.send(Transport.java:120)
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1232)
... 8 more
最佳答案
我的问题没有得到回答。我发现了我的问题所在。我解释一下,以便其他有此类问题的人可以从中受益。 从一开始,我认为我的问题不是为安全组中的传出 SMTP 调用定义特定端口。 This是一篇你可以阅读的好文章。此外,无需在任何 Bootstrap 类中配置 AWS SES。我刚刚在 application.conf 中定义了它,如下所示。
mail.transport.protocol=aws
mail.smtp.host=<your aws smpt server name>
mail.smtp.port=587
mail.smtp.user=<your username>
mail.smtp.pass=<your password>
mail.smtp.channel=ssl
但是邮件进入了垃圾邮件文件夹,我找不到为什么会这样。如果有人对此有任何想法,请在此处发表评论,我将不胜感激:)
关于playframework - 如何使用 play framework 1.x 和 Amazon SES 发送电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22571501/