Почему возникает тайм-аут при отправке электронной почты с помощью nodemailer при использовании сервера Amazon ec2

#node.js #email #amazon-web-services #amazon-ec2 #nodemailer

#node.js #Адрес электронной почты #amazon-веб-сервисы #amazon-ec2 #nodemailer

Вопрос:

Я использую nodemailer для отправки электронной почты с сервера ec2, но время ожидания истекает

 var nodemailer = require('nodemailer');
var smtpConfig =   {
                     service : 'Gmail',
                     secure : true,
                     auth   : {
                        user: 'adminemail@gmail.com',
                        pass: 'password'
                    }
                };
var smtpTransport  =   nodemailer.createTransport(smtpConfig);

smtpTransport.sendMail({
      from    : '"Admin" < adminemail@gmail.com >',
      to      : 'user@gmail.com',
      subject : 'click on link',
      html    : 'Please click on link'
   }, 
   function(err, res){
            if(err){
                console.log("email send error",err);
            }else{
                console.log("On Email Send Success : ", res);
            }
});
  

Приведенный выше код отлично работает на localhost, но когда я попробовал на живом сервере, работающем на EC2, он получает тайм-аут

ошибка отправки электронной почты { [Ошибка: время ожидания соединения] код: ‘ETIMEDOUT’ }

Пожалуйста, предложите способ изменить код

Комментарии:

1. Как насчет настройки port: 465 или port: 587 внутри smtpConfig ? EC2 сильно ограничивает порт 25 (предположительно, поскольку вы его не устанавливаете, это то, что используется по умолчанию) по очевидным причинам, но не другие порты, которые в любом случае более корректны. Это помогает?

2. Я также проверил порт 465 и хост ‘smtp.gmail.com ‘

3. Возникает та же проблема, что и у нас, отправленное электронное письмо успешно отправлено только на localhost

4. Есть ли какие-либо настройки, которые мне нужно выполнить на Amazon route 53 для электронной почты

5. В маршруте 53 ничего не требуется для отправки исходящей электронной почты через Gmail. Вы подтвердили, что этот экземпляр действительно имеет исходящее подключение, используя стандартные средства командной строки?