Nodemailer 模块
Nodemailer模块用于发送电子邮件。
使用npm下载安装Nodemailer模块:
G:\qikegu\nodejs>npm install nodemailer
应用程序中导入该模块:
var formidable = require('nodemailer');
发送邮件
现在可以从服务器发送电子邮件了。
下面的例子,使用QQ邮箱发送邮件,还需另外安装两个辅助模块,用于配置邮箱账号:
G:\qikegu\nodejs>npm install nodemailer-smtp-transport nodemailer-wellknown --save
示例
var nodemailer = require('nodemailer');
var smtpTransport = require('nodemailer-smtp-transport');
var wellknown = require("nodemailer-wellknown");
var config = wellknown("QQ");
config.auth = {
user:'你的账号@qq.com',
pass:'你的密码' // QQ邮箱此处使用授权码
}
var transporter = nodemailer.createTransport(smtpTransport(config));
var mailOptions = {
from: '你的账号@qq.com', // 你的QQ邮箱网址,必须与上面配置一致
to: 'myfriend@qq.com',
subject: 'Node.js邮件发送测试',
text: 'test!'
};
transporter.sendMail(mailOptions, function(error, info){
if (error) {
console.log(error);
} else {
console.log('Email sent: ' + info.response);
}
});
多个接收人
要向多个收件人发送电子邮件,在mailOptions对象的“To”属性中添加邮箱地址,以逗号分隔:
示例
发送邮件到多个地址:
var mailOptions = {
from: '你的账号@gmail.com',
to: 'myfriend@yahoo.com, myotherfriend@yahoo.com',
subject: 'Node.js邮件发送测试',
text: 'test!'
}
发送HTML
要在电子邮件中发送HTML格式的文本,使用“HTML”属性,而不是“text”属性:
示例
发送包含HTML的电子邮件:
var mailOptions = {
from: 'youremail@gmail.com',
to: 'myfriend@yahoo.com',
subject: 'Sending Email using Node.js',
html: '<h1>Welcome</h1><p>That was easy!</p>'
}