Aar*_*ron 2 amazon-web-services amazon-ses meteor meteor-up meteor-accounts
我正在尝试使用Meteor软件包来连接tarang:email-ses由@Akshat构建的AWS SES .
我正在使用在AWS EC2实例上运行的Meteor @ 1.*.当我使用下面的代码运行测试时,没有发送任何电子邮件.
我已经设置了AWS访问密钥ID和秘密访问密钥,并在此处使用它:
Meteor.startup(function () {
Email.configSES({
AWSAccessKeyID: 'access-key',
AWSSecretKey: 'secret-key'
});
});
Run Code Online (Sandbox Code Playgroud)
我还验证了我的电子邮件和域名.在这里,我确保从我的经过验证的发件人SES地址发送:
Accounts.emailTemplates.from = 'Domain Name <support@domain-name.com>';
Run Code Online (Sandbox Code Playgroud)
然后在Meteor方法中,我创建一个新用户并发送和注册电子邮件(如果我部署到meteor.com,当然没有Accounts.emailTemplates.from):
if (Meteor.user() && adminUser(this.userId)) {
var accountId = Accounts.createUser({
'username': doc.name,
'email': doc.email
});
Accounts.sendEnrollmentEmail(accountId);
}
Run Code Online (Sandbox Code Playgroud)
为email-ses包设置的代码是否正确?
我认为这个包抽象出了Amazon SES API发送电子邮件(并允许本地Meteor电子邮件调用).是否需要在AWS上设置SMTP?
要在Meteor中发送电子邮件,最简单的方法是使用process.env.MAIL_URL变量设置SMTP服务器和用户名信息.每当您发送消息时,Accounts和Email包将自动使用它来访问SMTP服务器.
要使用AWS SES启用SMTP访问:
现在您已经设置了帐户,只需将以下行复制并粘贴到Meteor启动文件的顶部,并从刚刚下载的凭据文件中的值和提供的服务器名称中替换用户名和密码.
process.env.MAIL_URL = 'smtp://username:password@smtp-server-name:465';
Run Code Online (Sandbox Code Playgroud)
请注意,如果您尚未收到生产访问权限,则必须在AWS SES管理控制台中验证发送和接收电子邮件地址.如果您不这样做,Meteor将在控制台中抛出错误,并且不会发送消息.
| 归档时间: |
|
| 查看次数: |
2465 次 |
| 最近记录: |