实在这个功用许多人都写过了,然则网上有的代码不能用,版本较老,因而写下本身探索的方法来完成。
设置篇
起首须要装置nodemailer库
npm install nodemailer//默许会装置最新的版本。
关于这个库的文档拜见nodemailer
库的一些运用引见
这个库运用方法很简单的。起首是要建立一个用于发送邮件的实例
var transporter = nodemailer.createTransport(transport[, defaults])
transport参数属性
属性太多了就只写一些症结的属性
port:衔接的端口号,平常就是465
host:你用于发送邮件的服务器的host,比方163的host是stmp.163.com
auth:这个就是和老版本不一样的处所了。新版本是用一个字面量存储用户名和暗码。注重你的邮箱要开启stmp。
user:用户名
pass:暗码。假如你的163设置了第三方登录暗码的话这里要填你的第三方登录暗码、
设置好了这些就能够运用啦~这里贴上我的设置
var smtpConfig = {
host: 'smtp.163.com',
port: 465,
auth: {
user: 'xxxx',
pass: 'xxxx'
}
};
var transporter = nodemailer.createTransport(smtpConfig);
运用篇
如今我们能够运用以下函数举行发送邮件
transporter.sendMail(data[, callback])
data邮件内容
from 邮件的发件人
to 邮件的收件人
subject 主题
text 邮件是以文本的体式格局举行发送
html 邮件内容是html网页结果
attachments 附件。细致能够看官方文档
callback回调函数
吸收两个参数 err和info
err
假如失利了就能够打印这个对象看相干信息
info
能够看许多发送状况的信息
messageID 会返回信息的messageID值,我也不太懂
accepted 是一个数组,包含服务器吸收的内容的地点
rejected 意义和上面差不多,就是相反的意义
好了说完了我们就能够发送邮件了
var sendmail = function(html){
var option = {
from:"sender",
to:"accepter",
subject : '来自node的邮件',
html : html
}
transporter.sendMail(option, function(error, response){
if(error){
console.log("fail: " + error);
}else{
console.log("success: " + response.messageID);
}
});
}
sendmail("邮件内容:<br/>这是来自nodemailer发送的邮件");
结束~