我正在使用Apache邮件从我的Gmail帐户发送电子邮件,如下所示:
HtmlEmail email = new HtmlEmail();
email.setHostName("smtp.gmail.com");
email.setSmtpPort(465);
email.setAuthenticator(new DefaultAuthenticator("mygmailaccount@mydomain.com", "mypassword"));
email.setSSLOnConnect(true);
email.setFrom("no-reply",
"appName");
@Async
public void send(HtmlEmail email) throws EmailException {
email.send();
}
我使用spring框架异步运行任务。
这在我的本地计算机上工作正常,但是当尝试从CloudBees运行代码时,虽然在调试中没有发现任何异常,但我没有收到收件箱中的电子邮件。
有人可以就此问题提出建议吗?
答案 0 :(得分:3)
没有网络设置阻止来自CloudBees的任何服务的出站连接。但是,出于垃圾邮件的原因,谷歌可能会对来自亚马逊托管IP的流量持谨慎态度。亚马逊也对垃圾邮件持谨慎态度,可以控制SMTP服务。
我希望它是其中之一,你有没有看过谷歌文档为什么这可能会停止工作?
答案 1 :(得分:3)
问题出在我的代码中,特别是在注释@Async
中,我将其替换为@Asynchronous
,一切正常。