nodejs nodemailer发送邮件

注:由于本人使用最新版本的nodemailer不兼容,所以目前使用的是0.7.1版的nodemailer


下面展示的是使用QQ邮箱发送邮件的实例,如果你有其它需求,也可以更换成其他邮箱发送,如(163,gmail等)。


1.安装nodemailer

npm install [email protected]


2.调用

var to = '[email protected]';        //收件地址
    var subject = '邮件标题';           //发送的标题
    var text = '文本内容';              //文本
    var html = '

邮件内容

'; //发送的内容 var transporter = nodemailer.createTransport("SMTP", { host: "smtp.qq.com", // 主机 secureConnection : true, // 使用 SSL port: 465, // SMTP 端口 auth: { user: '[email protected]', //邮箱登录账号 pass:'XXXXX' //使用QQ邮箱登录密码是不正确的,必须使用QQ邮箱里的授权码,这个请注意,底部有说明。 } }); var emailOptions = { from : 'XXX ', to : to, subject : subject, text : text, html : html } transporter.sendMail(emailOptions, function(err, info) { if(err){ return console.log(err); }else{ console.log('Message sent: ' + info.message); } transporter.close(); // 如果没用,关闭连接池 });

3.注意事项:

1.首先登录到QQ邮箱,点击左上角设置->账户,找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务开启smtp服务,如下图显示

nodejs nodemailer发送邮件_第1张图片

开启之后,点击‘生成授权码’(* 这个授权码是用来登录发送邮件的),如下图显示nodejs nodemailer发送邮件_第2张图片

获取完之后,如下图显示

nodejs nodemailer发送邮件_第3张图片


2.提示535错误,如下图显示

nodejs nodemailer发送邮件_第4张图片

原因:smtp服务器验证不通过

解决方案:密码要用授权码当密码


3.Error: 101057795,,如下图显示:


原因:端口不正确

解决方案:修改端口(578或25或465等)试试


4.Error: Greeting never received,如下图显示:


原因:没有使用ssl

解决方案:添加secureConnection:true


以上是本人在使用的时候遇到的问题,如果您们还遇到其他问题,可以评论把问题和解决方案写下,方便大家以后遇到相同问题时可以查看。。


你可能感兴趣的:(nodejs,nodejs,nodemailer,邮件)