Node.js(LoopBack 3)-我可以通过AWS SES向多少个收件人发送电子邮件?

时间:2019-06-21 16:16:49

标签: node.js email amazon-ses loopback

到目前为止,我已经在我的LoopBack应用中通过 Sakura Japan SMTP服务器向多个收件人发送电子邮件。

{
  "emailDs": {
    "name": "emailDs",
    "connector": "mail",
    "transports": [{
      "type": "smtp",
      "host": "myapp.sakura.ne.jp",
      "secure": false,
      "port": 587,
      "tls": {
        "rejectUnauthorized": false
      },
      "auth": {
        "user": "~ ~ ~.sakura.ne.jp",
        "pass": "~ ~ ~"
      }
    }]
  }
}
  

除非收件人的数量远远少于 100 ,否则它几乎可以正常工作。 但是当数字超过 100 时,它将不起作用-例如 150


因此,我要迁移AWS SES,但我想知道是否有{strong>限制,由于{{ 3}}:

  

在“收件人”,“抄送”和“密件抄送:”字段中,邮件不能包含超过50个收件人。如果需要将电子邮件发送给更大的受众群体,可以将收件人列表分为50个或更少的组,然后多次调用sendEmail方法以将消息发送给每个组。

所以,请任何人告诉我,如果您有经验,接收者的数量是否有限制。

谢谢。

PS:AWS SES的示例代码如下:

// Load the AWS SDK for Node.js
var AWS = require('aws-sdk');
// Set the region 
AWS.config.update({region: 'REGION'});

// Create sendBulkTemplatedEmail params 
var params = {
  Destinations: [ /* required */
    {
      Destination: { /* required */
        CcAddresses: [
          'EMAIL_ADDRESS',
          /* more items */
        ],
        ToAddresses: [
          'EMAIL_ADDRESS',
          'EMAIL_ADDRESS'
          /* more items */
        ]
      },
      ReplacementTemplateData: '{ \"REPLACEMENT_TAG_NAME\":\"REPLACEMENT_VALUE\" }'
  },
  ],
  Source: 'EMAIL_ADDRESS', /* required */
  Template: 'TEMPLATE_NAME', /* required */
  DefaultTemplateData: '{ \"REPLACEMENT_TAG_NAME\":\"REPLACEMENT_VALUE\" }',
  ReplyToAddresses: [
    'EMAIL_ADDRESS'
  ]
};


// Create the promise and SES service object
var sendPromise = new AWS.SES({apiVersion: '2010-12-01'}).sendBulkTemplatedEmail(params).promise();

// Handle promise's fulfilled/rejected states
sendPromise.then(
  function(data) {
    console.log(data);
  }).catch(
    function(err) {
    console.log(err, err.stack);
  });

1 个答案:

答案 0 :(得分:1)

根据AWS SES documentation,我认为我可以使用AWS sendBulkTemplatedEmail()功能来发送无限制的批量邮件 JS SDK

  

创建一个对象,以将定义要发送的电子邮件的参数值(包括发件人和收件人地址,主题,纯文本格式和HTML格式的电子邮件正文)传递到AWS.SES客户端类的sendBulkTemplatedEmail方法。要调用sendBulkTemplatedEmail方法,请创建一个通过传递参数来调用Amazon SES服务对象的承诺。然后在promise回调中处理响应。


但是,下面的2个链接向我解释了生产生命周期的不同解决方法,因为甚至50个接收者的技术限制

AWS SES SendBulkTemplatedEmail, example and what happens if quota is exceeded?

Managing Your Amazon SES Sending Limits

因此,AWS SES建议我为每个收件人拨打一次sendEmail()

  

发送限制基于收件人而不是邮件。例如,一封有10个收件人的电子邮件将计为10个配额。但是,我们不建议您在一次对SendEmail的呼叫中向多个收件人发送电子邮件,因为如果对Amazon SES的呼叫失败(例如,请求的格式不正确),则整个电子邮件将被拒绝,任何收件人都不会获取预期的电子邮件。我们建议您为每个收件人调用一次SendEmail。


长话短说

  • 当我们将邮件发送到多个地址时,收件人编号没有理论上的限制。
  • 但是当我们通过致电sendBulkTemplatedEmail()发送大容量邮件时,存在50个收件人的技术限制
  • 最好的解决方案是通过多次调用'sendEmail()'向每个收件人发送电子邮件。

感谢关注。