It's a basic example for 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: 'rishiag.iitd@gmail.com', // 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);
I am getting following error on going to localhost:
[Error: No transport method defined]
I am using Nodemailer version 1.4.23 on Windows 7. What could be the problem?
Their initial example appears to mention Gmail for the service when it should instead be gmail per other examples provided. Seems to be a documentation issue.