gpt4 book ai didi

amazon-web-services - 带 meteor 的 AWS SES

转载 作者:行者123 更新时间:2023-12-04 08:03:16 24 4
gpt4 key购买 nike

我正在尝试推出一个 Meteor 包来与 AWS SES 交互,称为 tarang:email-ses 由@Akshat 构建。

我在 Meteor @1.* 上运行在 AWS EC2 实例上。当我使用下面的代码进行测试时,没有发送任何电子邮件。

meteor 代码

我已经设置了 AWS 访问 key ID 和 secret 访问 key 并在此处使用:

Meteor.startup(function () {    
Email.configSES({
AWSAccessKeyID: 'access-key',
AWSSecretKey: 'secret-key'
});
});

我还验证了我的电子邮件和域。在这里,我确保我从经过验证的发件人 SES 地址发送:

Accounts.emailTemplates.from = 'Domain Name <support@domain-name.com>';

然后在 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);
}

问题

设置 email-ses 包的代码是否正确?

我认为这个包抽象出 Amazon SES API 来发送电子邮件(并允许本地 Meteor 电子邮件调用)。是否需要在 AWS 上设置 SMTP?

最佳答案

要在 Meteor 中发送电子邮件,最简单的方法是使用 process.env.MAIL_URL 变量设置 SMTP 服务器和用户名信息。 AccountsEmail 包将在您发送消息时自动使用它来访问 SMTP 服务器。

启用 AWS SES 的 SMTP 访问:

  1. 登录 AWS 管理控制台
  2. 选择您设置 SES 的适当区域。
  3. 从应用程序服务列表中选择 SES
  4. 点击左侧菜单中的SMTP设置菜单项
  5. 点击创建我的 SMTP 凭据按钮
  6. 使用提供的默认 IAM 用户名。这是一个特殊的 IAM 用户,只能访问 SMTP 服务器。访问 SMTP 服务器时,您不应使用主要 IAM 用户名/密码。
  7. 务必记下 SMTP 服务器名称。您稍后会需要它。
  8. 创建帐户后下载凭据。

现在您已经设置了一个帐户,只需将以下行复制并粘贴到您的 Meteor 启动文件的顶部,然后将用户名和密码替换为您刚刚下载的凭证文件中的值以及之前下载的服务器名称提供。

process.env.MAIL_URL = 'smtp://username:password@smtp-server-name:465';

请注意,如果您尚未获得生产访问权限,则必须在 AWS SES 管理控制台中验证发送和接收电子邮件地址。如果您不这样做,Meteor 将在控制台中抛出错误,并且不会发送消息。

关于amazon-web-services - 带 meteor 的 AWS SES,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28058641/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com