Почему я не могу отправить на более чем один адрес, используя AWS SDK sendEmail? - PullRequest
1 голос
/ 17 января 2020

Я начал внедрять AWS SDK в наше приложение для отправки электронных писем. Я увеличил наш лимит до AWS, чтобы выйти из песочницы, чтобы я мог начать отправлять электронные письма другим людям. Проблема, которую я замечаю, состоит в том, что если у меня есть более одного адреса в моей переменной recipient, я получаю эту ошибку: Illegal Address. Оба адреса электронной почты имеют вид name@domain.com. Я проверил отправку каждого письма по отдельности, и оба прекрасно работают, но как только я помещаю оба адреса в переменную получателя, я получаю ошибку Illegal Address. Мое единственное предположение состоит в том, что наличие более чем одного получателя вызывает проблему, но если это проблема, то почему в их документации сказано, что может быть несколько адресов?

Вот мой код

if ((request.url).substring(0, 5) == "/send") {

        var mailOptions = {
            to: request.query.to,
            bcc: request.query.bcc,
            subject: request.query.subject,
            text: request.query.text
        }

        console.log(mailOptions.to);

        AWS.config.update({
            accessKeyId: env.AWS.ACCESS_KEY,
            secretAccessKey: env.AWS.SECRET_ACCESS_KEY,
            region: 'someregion'
        });

        const sender = "noreply@domain.com";
        const recipient = mailOptions.to; // this includes "name@domain.com, name2@domain.com"
        const subject = mailOptions.subject;
        const body_html = mailOptions.text;
        const charset = "UTF-8";

        const ses = new AWS.SES();
        var params = { 
            Source: sender, 
            Destination: { 
              ToAddresses: [
                recipient
              ],
              BccAddresses: [
                sender
              ],
            },
            Message: {
              Subject: {
                Data: subject,
                Charset: charset
              },
              Body: {
                Html: {
                  Data: body_html,
                  Charset: charset
                }
              }
            }
          };

          ses.sendEmail(params, function(err, data) {
            // If something goes wrong, print an error message.
            if(err) {
              console.log(err.message);
            } else {
              console.log("Email sent! Message ID: ", data.MessageId);
            }
          });

Если кто-то знает, почему это происходит, и знает, что мне нужно сделать, чтобы это исправить, я был бы очень признателен! Благодаря.

...