您现在的位置: 万盛学电脑网 >> 程序编程 >> 脚本专题 >> javascript >> 正文

node.js使用nodemailer发送邮件实例

作者:佚名    责任编辑:admin    更新时间:2022-06-22

 这篇文章主要介绍了node.js使用nodemailer发送邮件的方法,例子中使用的是QQ邮箱,你也可以修改成其它的邮箱如163、gmail等,需要的朋友可以参考下

一、安装 nodemailer     代码如下:npm install nodemailer --save 二、调用 代码如下:var nodemailer = require("nodemailer");   // 开启一个 SMTP 连接池 var smtpTransport = nodemailer.createTransport("SMTP",{   host: "smtp.qq.com", // 主机   secureConnection: true, // 使用 SSL   port: 465, // SMTP 端口   auth: {     user: "[email protected]", // 账号     pass: "xxxxxxxx" // 密码   } });   // 设置邮件内容 var mailOptions = {   from: "Fred Foo <[email protected]>", // 发件地址   to: "[email protected], [email protected]", // 收件列表   subject: "Hello world", // 标题   html: "<b>thanks a for visiting!</b> 世界,你好!" // html 内容 }   // 发送邮件 smtpTransport.sendMail(mailOptions, function(error, response){   if(error){     console.log(error);   }else{     console.log("Message sent: " + response.message);   }   smtpTransport.close(); // 如果没用,关闭连接池 });   三、常见错误  代码如下: { [AuthError: Invalid login - 454 Authentication failed, please open smtp flag first!]   name: 'AuthError',   data: '454 Authentication failed, please open smtp flag first!',   stage: 'auth' }   错误原因: 账号未设置该服务 解决方案: QQ邮箱 -> 设置 -> 帐户 -> 开启服务:POP3/SMTP服务   代码如下: { [SenderError: Mail from command failed - 501 mail from address must be same as authorization user]   name: 'SenderError',   data: '501 mail from address must be same as authorization user',   stage: 'mail' } 错误原因: 发件账号与认证账号不同