2017-02-22 11 views
0

Я использую модуль nodemailer для отправки почты из приложения nodejs. Я получаю Ошибка: подключить ETIMEDOUT xxx.xxx.xx.xxx:465. Может ли кто-нибудь помочь мне в решении этого. Здесь я вставляю свой код.Ошибка тайм-аута соединения Nodemailer

var transporter = nodemailer.createTransport({ 
service: 'Gmail', 
auth: { 
    user: '[email protected]', 
    pass: 'my_gmail_password' 
} 
}); 

console.log('created'); 
transporter.sendMail({ 
from: '[email protected]', 
    to: '[email protected]', 
    subject: 'hello world!', 
    text: 'hello world!' 
}); 

ответ

2

Вы просматривали this answer.

Оказалось, что для того, чтобы Google разрешил стороннему серверу получать доступ к вашей учетной записи через SMTP, вы должны включить «Менее безопасные приложения» в своей учетной записи gmail, если вы хотите использовать имя пользователя/пароль (more info here).

Так у вас есть два параметра:

  • использование OAuth

  • сделать свой счет менее безопасным

+0

Привет Иван, спасибо за ответ. Я попробовал второй вариант (менее безопасный). Но все та же ошибка. – naik3

+0

Просто для проверки, я изменил это ** nodemailer.createTransport ({** to ** nodemailer.createTransport ({"SMTP" **. Я получаю эту ошибку ** TypeError: не удается создать свойство 'mailer' в строке ' SMTP '** – naik3

+0

Потребуется некоторое время до тех пор, пока не будут применены новые настройки, поэтому вы можете попробовать через час. Это был мой опыт, по крайней мере. –

0
// Create a SMTP transport object 
var transport = nodemailer.createTransport("SMTP", { 
    service: 'Hotmail', 
    auth: { 
     user: "username", 
     pass: "paasweord" 
    } 
}); 

console.log('SMTP Configured'); 

// Message object 
    var message = { 

    // sender info 
    from: '[email protected]', 

    // Comma separated list of recipients 
    to: req.query.to //'[email protected]', 

    // Subject of the message 
    subject:req.query.subject //'Nodemailer is unicode friendly ✔', 

    // plaintext body 
    text: req.query.text //'Hello to myself!', 

    // HTML body 
    /* html:'<p><b>Hello</b> to myself <img src="cid:[email protected]"/></p>'+ 
    '<p>Here\'s a nyan cat for you as an embedded attachment:<br/></p>'*/ 
    }; 

    console.log('Sending Mail'); 
    transport.sendMail(message, function(error){ 
    if(error){ 
    console.log('Error occured'); 
    console.log(error.message); 
    return; 
    } 
    console.log('Message sent successfully!'); 


//transport.close(); // close the connection pool 
    }); 
+0

Привет, спасибо за ответ, я получаю эту ошибку TypeError: не удается создать свойство 'mailer' в строке 'SMTP' – naik3

+0

Я думаю, что вы используете устаревшую версию узла. Пожалуйста, проверьте официальный ресурс за более подробной информацией: https://nodemailer.com/smtp/ – aaditya

0

я испытал этот же вопрос сегодня, нашел эту документацию. ..

https://nodemailer.com/usage/using-gmail/

Придется выполнить процесс capcha с сервера, посетив URL-адрес, войдя в систему gmail.

Надеюсь, это поможет другим.

0

Есть только причины этой ошибки:

  1. Меньше Безопасные приложения: вы должны включить «менее Безопасные приложения» из вашей учетной записи Gmail.

  2. Использование OAuth

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