邮箱相关服务器信息
const nodemailer = require('nodemailer');
// npm install nodemailer --save-dev
方法一:网易163邮箱使用SSL协议,端口号465
let transporter = nodemailer.createTransport({
host: "smtp.163.com",
secureConnection: true, //use SSL
secure: true, //secure: true for port 465, secure:false for port 587
port: 465,
auth: {
user: 'xxxxx@163.com',
pass: 'xxxxx' //163授权码
}
});
方法二:QQ邮箱使用非SSL协议,端口号25
let transporter = nodemailer.createTransport({
host: 'smtp.qq.com',
port: 25,
auth: {
user: 'xxxxx@qq.com',
pass: 'xxxxx' //qq授权码
}
});
//设置邮件内容。
let mailOptions = {
from: 'xxxxx@163.com', //发件人
to: 'xxxxx@163.com', //收件人
subject: 'Hello66', //主题
text: '这是一封测试邮件', //文本内容
html: '这是一封测试邮件', //html body
// 下面是发送附件,不需要就注释掉
// attachments: [{
// filename: 'test.txt',
// path: './test.txt',
// },
// {
// filename: 'content',
// content: '发送内容'
// }]
};
// 发送邮件..
transporter.sendMail(mailOptions, (error, info) => {
if(error) {
console.log(error);
}
transporter.close();
});
备注: 碰到的问题,报错
Error: queryA EREFUSED smtp.163.com
at QueryReqWrap.onresolve [as oncomplete] (dns.js:203:19) {
errno: undefined,
code: 'EDNS',
syscall: 'queryA',
hostname: 'smtp.163.com',
command: 'CONN'
}
说明: 本地测试都可以发送邮件,上线后发送邮件失败,查看日志报错如上,怀疑是端口没有开放导致。



