Nodemailer не работает на экземпляре Amazon EC2
Я инстанс EC2 в рабочем состоянии, я хотел интегрировать nodemailer в свое приложение. После https://www.npmjs.com/package/nodemailer я смог отправить электронное письмо с моего локального хоста. Когда тот же код, который я интегрировал на EC2
экземпляр я получаю Invalid login error
, Иногда gmail блокирует вход в систему из другого приложения и отправляет письмо с подтверждением в почтовый ящик. Я также не получил такую почту. Нужно ли включать какой-либо порт на EC2
экземпляр или я могу использовать nodemailer
вообще на EC2 экземпляр. Пожалуйста, предложите
2 ответа
Нет необходимости включать сервис AWS SES
Открытый порт: 465 на экземпляре aws(e2c) в разделе исходящих сообщений.
Проверьте, действительно ли открыт порт: с помощью команды nmap nmap 14.247.74.33
,
Примечание: не продолжайте, пока не увидите открытые порты, такие как
Starting Nmap 5.21 ( http://nmap.org ) at 2012-08-15 19:01 IST
Nmap scan report for 14.247.74.33
Host is up (0.058s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
23/tcp open telnet
80/tcp open http
465 open
Простая конфигурация nodemailer работает
const transporter = nodemailer.createTransport({
service: 'gmail',
host: 'smtp.gmail.com',
port: 465,
secure: true,
auth: {
user: EMAIL_ID,
pass: EMAIL_PASSOWRD,
},
});
Gmail не является производственным SMTP-сервисом. Сконфигурируйте nodemailer для отправки почты из рабочей почтовой программы, такой как AWS Simple Email Service. Как и gmail, SES - это "хорошо известная служба" в нодмейлере. Есть замечательный пример использования SES в README