我想使用 Meteor 提供的内置电子邮件方法,但我需要我的应用程序在 Heroku 上运行并使用 Amazon SES 的 smtp 端点来传输我的消息。
我正在使用 Meteorite 构建包和 accounts-password 包。
我想使用 Meteor 提供的内置电子邮件方法,但我需要我的应用程序在 Heroku 上运行并使用 Amazon SES 的 smtp 端点来传输我的消息。
我正在使用 Meteorite 构建包和 accounts-password 包。
按照以下说明使用亚马逊 ses 从 heroku 正确发送流星电子邮件
1) 通过 aws 控制台设置 smtp 访问,获取您的 smtp 凭据
2)使用javascript控制台(chrome dev tools/firebug)运行
encodeURIComponent("SES_SMTP_USERNAME")
encodeURIComponent("SES_SMTP_PASSWORD")
对用户名/密码进行编码以在您的 smtp url 中使用
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 覆盖 url)
5)通过
Accounts.emailTemplates.from = "SENDER_NAME <SENDER_EMAIL>";
这将允许 Meteor 默认电子邮件方法正常运行。
除了您在要点中建议的内容之外,您还可以使用Meteor.http
带有 SES API 的方法并发送 POST/GET 请求。
完整的 API 文档位于http://docs.aws.amazon.com/ses/latest/DeveloperGuide/QueryInterface.Examples.html
当然这是手动解决方案,不会使用内置的流星邮件方法。但是,可以通过重新定义邮件功能来纠正它Email.send = function(...
您还可以在大气上使用 email-ses 包
mrt add email-ses