[NodeJS] nodemailer 发送邮件

前言

电子邮件的使用十分广泛,比如在用户注册、修改密码时的验证,在Node.js中我们可以通过Nodemailer实现发邮件的功能,这篇文章仅介绍其简单的使用,通过163邮箱的smtp服务实现发邮件。


环境

操作系统:Ubuntu 16.04
Node版本:v7.0.0


Nodemailer

Github: https://github.com/nodemailer/nodemailer


安装 Nodemailer

npm install nodemailer


基本使用

使用之前,先到163邮箱设置的POP3/SMTP/IMAP,打开SMTP服务。

var nodemailer = require('nodemailer');
var transporter = nodemailer.createTransport({
    host: 'smtp.163.com',
    secureConnection: true,  // use SSL  
    port: 465,
    auth: {
        user: '[email protected]',  // 邮箱地址
        pass: 'yourPassword'  // 密码(163邮箱的话是设置smtp时的授权码)
    }
});

var mailOptions = {
    from: '[email protected] ', // 发件人邮箱地址,要和上面一致,否则会报错
    to: '****@***.com', // 收件人列表,多个收件人用“,”分隔
    subject: 'A Simple Email', // 主题
    text: 'Hello world', // plain text格式
    html: 'Hello world' // html格式
};

transporter.sendMail(mailOptions, function(err, info) {
    if (err) {
        console.log(err);
    } else {
        console.log('Message sent: ' + info.response);
    }
});

如果正常发送的话,我们在控制台会看到类似这样的一条回馈信息

Message sent: 250 Mail OK queued as smtp10,DsCowAA3DJoJyiJYiiXnBg–.2092S2 1478674954


部分错误

Error: Invalid login: 535 Error: authentication failed

认证失败,可能是账号密码错误

Error: Mail command failed: 553 Mail from must equal authorized user

发件人和认证的邮箱地址不一致

你可能感兴趣的:(学习笔记,NodeJs)