2
Это основной пример для Nodemailer.Не удается отправить почту с помощью Nodemailer
var http = require('http');
var port = process.env.PORT || 8080;
var async = require('async');
var nodemailer = require('nodemailer');
// create reusable transporter object using SMTP transport
var mailOptions = {
from: '*********', // sender address
to: '[email protected]', // list of receivers
subject: 'Hello ✔', // Subject line
text: 'Hello world ✔', // plaintext body
html: '<b>Hello world ✔</b>', // html body
attachments: [
{ // utf-8 string as an attachment
filename: 'text1.txt',
content: 'hello world!'
}]
};
var transporter = nodemailer.createTransport({
service: 'Gmail',
auth: {
user: '*******',
pass: '****'
}
});
// send mail with defined transport object
var server = http.createServer(function(request, response) {
if (request.url === '/favicon.ico') {
response.writeHead(200, {'Content-Type': 'image/x-icon'});
response.end();
return;
}
response.writeHead(200, {
"Content-Type": "text/plain"
});
transporter.sendMail(mailOptions, function(error, info){
if(error){
console.log("error is " ,error);
}else{
console.log('Message sent: ' + info.response);
}
});
response.end("Hello World\n");
}).listen(port);
console.log("Node server listening on port " + port);
Я получаю следующее сообщение об ошибке при переходе к локальной машине:
[Error: No transport method defined]
Я использую Nodemailer версии 1.4.23 на Windows 7. Что может быть проблема?
Возможно, попробуйте 'service: 'gmail'' и/или попробуйте отправить электронное сообщение за пределы запроса HTTP-сервера. Отверните его до основного примера. –
Спасибо. Написание 'gmail' решило проблему. В их документации упоминается «Gmail». Сообщите им о Гитубе. Я соглашусь, если вы напишете ответ. Это может помочь кому-то в будущем. – rishiag
Я тоже заметил, что первый пример имел «Gmail», в то время как другой пример на странице имел «gmail». Рад, что это помогло. –