JavaMail发送哪个服务器的电子邮件?

时间:2011-08-16 18:07:16

标签: email amazon-web-services javamail amazon-ses

这是我的问题,我正在创建一个带有一点登录和重置密码的网站。这是基本的东西,当用户忘记密码时,他们可以点击链接,我的应用程序将发送一封电子邮件,其中包含重置密码的链接。现在,我正在使用Google App发送/接收电子邮件,因此我创建了一个新的别名,如noreply@company.com。

我刚收到Google的确认电子邮件,我不允许使用Google Server通过JavaMail发送电子邮件,因为他们不支持JavaMail作为邮件客户端,我遇到的问题是我从smtp.google.com获取AuthenticationException。

此外,我也使用Amazon EC2来托管应用程序,而amazon提供SES服务来发送电子邮件。因此,问题是我可以使用Google App为每位员工托管我们公司的电子邮件,但是我仍然可以使用Amazon SES通过JavaMail在与我们使用Google Apps相同的域名中发送电子邮件吗?因此,我们发送的电子邮件将是noreply@company.com,但将来自Amazon SES。

我不确定我是否足够明确,我担心的是我们已经将MX Record电子邮件重定向到Google App,我想我们不能同时重定向到Google和Amazon?

我们正在编写的应用程序基于Grails,因此电子邮件将来自Spring Email

干杯,

1 个答案:

答案 0 :(得分:0)

根据我对Amazon SES的使用情况,您应该可以使用您建议的配置而不会出现任何问题。使用SES时,您无需添加/更改任何MX记录,因为SES不允许您接收电子邮件。它只是一种发送(转发)电子邮件的服务,即,据我所知,它将完美地为您服务,您的源电子邮件地址将与您今天使用的相同。

当您注册SES并希望开始发送测试消息时,您需要在实际发送电子邮件之前验证源和目标电子邮件地址。您可以通过脚本(ses-verify-email-address.pl)或API(AWS SDK上的VerifyEmailAddress)来实现此验证。发送验证请求后,您应该会在已验证的帐户中收到一个电子邮件地址。只需按照消息说明操作即可安全地发送一些测试消息。

如果您对测试感到满意,则应该请求生产访问权限,在此步骤之后,您不再需要对目标电子邮件地址执行验证。

为了调用API,我认为您可以在应用程序中使用AWS SDK for Java。

详细了解:
http://aws.amazon.com/ses/
http://aws.amazon.com/sdkforjava/