Как отправлять электронные письма с помощью nodemailer и roundcube

#javascript #node.js #nodemailer #roundcube

#javascript #node.js #nodemailer #roundcube

Вопрос:

То, что я пытаюсь сделать, это отправлять электронные письма через nodemailer библиотеку. Я считаю, что проблема заключается во времени для настройки хоста. Я попытался использовать gmail, и он работает отлично, но когда я использую своего собственного поставщика электронной почты, он возвращает эту ошибку ниже.

Ошибка аутентификации пользователя: getaddrinfo ENOTFOUND http://myserver.com «

 module.exports = {
    host: 'http://myserver.com',
    port: '587',
    user: 'email@myserver.com',
    pass: 'mypassword'
}
 

Ответ №1:

Вам нужно удалить протокол http:// из переменной host. Вы пытаетесь выполнить DNS-запрос http://myserver.com , а не myserver.com .

Кроме того, почтовые службы используют не http протокол, а smtp ( smtps для безопасных соединений).

Другой способ: вы можете использовать однострочную строку подключения

 let transporter = nodemailer.createTransport(
`smtp://email:mypassword@myserver.com:587`);
 

Ответ №2:

Указанный вами сервер не является допустимым доменом, т.е. Если я выполню поиск в DNS, он ни к чему не приведет.

Это наводит меня на мысль, что вы пытаетесь подключиться к почтовому серверу в своей локальной сети и изменили DNS в своем маршрутизаторе или файле hosts вашего компьютера, чтобы сопоставить локальный IP с именованным доменом. Если это так, я бы посоветовал получить фактический IP-адрес вашего локального почтового сервера и использовать его вместо этого и посмотреть, поможет ли это подключению.

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

1. Мой DNS-сервер действителен