2015-12-29 2 views
0

У меня есть сервер aws ubuntu, на котором запущено приложение node.js. Я пытаюсь создать простую функцию забытого пароля, которая отправляет пользователям электронную почту. Код работает, но не доставляется электронное письмо, поэтому я предполагаю, что я все еще что-то пропущу.Amazon SES - Не удается получить электронную почту для доставки

1) В рамках SES я проверил домен электронной почты a2zcribbage.com. Я предполагаю, что это означает, что теперь я могу отправить электронное письмо из любого псевдонима в этом домене, верно?

2) I npm установил модуль SES на мой сервер ec2.

3) Мой код выглядит следующим образом:

aws.config.update({accessKeyId: 'MYKEY', secretAccessKey: 'MYKEY', region: 'us-west-2'}); 
var ses = new aws.SES({apiVersion: '2010-12-01'}); // load AWS SES 
var to = [post.email]; // send to list 
var from = '[email protected]'; // this must relate to a verified SES account 
ses.sendEmail({ // this sends the email @todo - add HTML version 
     Source: from, 
     Destination: { ToAddresses: to }, 
     Message: { 
     Subject: { Data: 'a2zCribbage - Temporary Password' }, 
     Body: { 
      Text: { 
      Data: "Your username is: " + userName + ". Your temporary password is: " + tempPassword 
      } 
     } 
     } 
    }, function(err, data) { if (err) console.log(err); }); 

код выполняется без ошибок, но не электронная почта не доставляется. Как мне отладить это дальше, если нет ошибки?

+0

Можете ли вы console.log (данные), чтобы мы могли видеть, что возвращается? – Zigglzworth

ответ

1

Мое предложение для вопроса:

  1. Убедитесь, что вы были удалены из песочницы, чтобы сделать это, вам нужно связаться с AWS, чтобы расширить пределы, это бесплатный сервис для любых AWS счетов.

  2. зарегистрировать реальный почтовый ящик непосредственно на SES, например, [email protected], чтобы проверить, работает ли код.

  3. Из кода, кажется, вы пропустили загрузку aws sdk.

    var aws = require ('aws-sdk');

  4. создать задачу SNS, подписать SMS или почтовый ящик, включить отсканированное уведомление или жалобу в SES, с его помощью вы можете подтвердить правильность настройки или нет.

Дайте мне знать, если это поможет вам решить вашу проблему.

+0

Я не уверен, что вы подразумеваете под «зарегистрировать реальный почтовый ящик непосредственно на SES». Нет фактического почтового ящика [email protected] Если мне нужно зарегистрировать почтовый ящик, в чем смысл опции «проверить домен» в SES и «проверить адрес электронной почты»? –

+0

Моя учетная запись работает только в песочнице. Чтобы отправить электронное письмо фактическому пользователю, мне нужно отправить его, чтобы он переместился из песочницы, верно? Если это так, это по крайней мере одна причина, по которой это не удается. –

+0

@PaulGregson Причина, по которой я прошу зарегистрировать реальный почтовый ящик (если у вас нет в этом домене, зарегистрируйте gmail), чтобы проверить, правильно ли указан код nodejs. Я не вижу вашу консоль aws, поэтому мы не знаем, правильно ли вы отправляете домен в SES. – BMW

0

Я отвечу на свой вопрос здесь. Хорошая обратная связь от всех. Единственное, что мне не хватало, это то, что по умолчанию при создании учетной записи SES вы попадаете в режим «песочницы», а не в полноценный режим отправки электронной почты, поэтому я пытался отправить электронные письма, и это не позволяло Это. Как только я попросил, чтобы меня вытащили из режима песочницы, все работало нормально.

Смежные вопросы