#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. Вы подтвердили, что этот экземпляр действительно имеет исходящее подключение, используя стандартные средства командной строки?