如何使用" node-ses"发送原始电子邮件没有提供访问密钥和密钥?或者使用IAM角色

时间:2017-12-13 07:45:15

标签: node.js amazon-web-services amazon-ses

使用node-ses发送邮件时,我们需要在创建客户端时提供访问密钥和密钥。 我想摆脱这些键,并希望使用运行此代码的lambda函数的IAM角色访问来处理它。

 ses = require('node-ses'), 
 client = ses.createClient({ key: config.get('awsSettings.accessKey'), secret: config.get('awsSettings.secretKey') }),

1 个答案:

答案 0 :(得分:2)

使用 SES API或SES SMTP服务接口时,无法使用某种形式的SES credentials。对于node-ses,此库实现SendEmail and SendRawEmail SES API次调用,因此受此服务的凭据要求的限制。

在这两种情况下,这些凭据在您启用服务时由SES发出,和/或通过IAM用户配置,即与该用户关联的密钥和访问密钥。这些凭据用于SES SMTP和API服务的身份验证,并且用作此用途的用户名和密码。

无法使用IAM角色替代SES凭据的使用; SES要求电子邮件客户端使用这些凭据中的这些凭据进行SES服务身份验证。

总结自Using Credentials With Amazon SES

  
      
  • 如果您想访问Amazon SES API,请使用AWS访问密钥(访问密钥ID和秘密访问密钥),其中包括指定IAM用户帐户的Access密钥ID和秘密访问密钥。 / p>

  •   
  • 如果要访问Amazon SES SMTP界面,请使用SES SMTP凭据,该凭据由用户名和密码组成。虽然   您的Amazon SES SMTP凭据与您的AWS访问权限不同   密钥和IAM用户访问密钥,Amazon SES SMTP凭据   实际上是一种IAM凭证。

  •