如何在Heroku上运行时配置Meteor以使用Amazon SES?

时间:2013-01-17 21:32:09

标签: heroku smtp meteor amazon-ses

我想使用Meteor提供的内置电子邮件方法,但我需要我的应用程序在Heroku上运行并使用Amazon SES的smtp端点来传输我的消息。

我正在使用Meteorite构建包和帐户密码包。

2 个答案:

答案 0 :(得分:14)

按照以下说明,使用amazon ses从heroku正确发送流星电子邮件

1)通过aws控制台设置smtp访问权限,获取smtp凭据

2)使用javascript控制台(chrome dev tools / firebug)运行

encodeURIComponent("SES_SMTP_USERNAME")

encodeURIComponent("SES_SMTP_PASSWORD")

编码用于smtp网址的用户名/密码

3)取结果字符串来构建你的smtp url

smtp://ENCODED_USER:ENCODED_PASS@SES_SMTP_URL:465

4)设置MAIL_URL变量告诉meteor使用此方法发送电子邮件

heroku config:add MAIL_URL=YOUR_SMTP_URL

(不要用qoutes来填充网址)

5)通过

将发件人设置为流星应用中的SES验证发件人

Accounts.emailTemplates.from = "SENDER_NAME <SENDER_EMAIL>";


这将允许Meteor默认电子邮件方法正常运行。

答案 1 :(得分:0)

除了您在gist中建议的内容之外,您还可以在SES API中使用Meteor.http方法并发送POST / GET请求。

http://docs.aws.amazon.com/ses/latest/DeveloperGuide/QueryInterface.Examples.html

上的完整API文档

当然这是一个手动解决方案,不会使用内置的流星邮件方法。但是,可以通过Email.send = function(...

重新定义邮件功能来纠正它

更新

您还可以在氛围

上使用email-ses包
mrt add email-ses

此处有更多信息:https://atmospherejs.com/package/email-ses