简单两步使用node发送qq邮件

node发送邮件非常简单,这里只做qq的演示,你可以举一反三.

使用nodemailer包

let transporter = nodemailer.createTransport({
  // 使用qq发送邮件
  // 更多请查看支持列表:https://nodemailer.com/smtp/well-known/
  service: 'qq',
  port: 465, // SMTP 端口
  secureConnection: true, // 使用了 SSL
  auth: {
    user: '[email protected]',
    // 这里密码不是qq密码,是你设置的smtp授权码
    // 获取qq授权码请看:https://jingyan.baidu.com/article/6079ad0eb14aaa28fe86db5a.html
    pass: 'xxxxxxxx',
  }
});

接下来我们设置我们到发送内容

let mailOpt= {
  from: '"test" ',  // 你到qq邮箱地址
  to: '[email protected]', // 接受人,可以群发填写多个逗号分隔
  subject: 'Hello', // 主题名(邮件名)
  // 可以发送text或者html格式,2选1
  // text: 'Hello world?', // 纯文本
  html: 'Hello world?' // html
};

如果我们想发一个稍微漂亮到邮件怎么办?
我们可以使用html模板来实现

const template = require('art-template');

let html = template(__dirname + '/mail_temp.html', obj) // mail_temp.html为你想使用到页面模板,obj为你的参数

// 例如
obj = {
    name : 'test',
    phone : '183xxxxxxxx',
    time : new Date()
}
新用户:{{name}}({{phone}})于{{time}}进行了注册.

所有准备完成,让我们发送邮件吧!

// 执行发送
transporter.sendMail(mailOptions, (error, info) => {
  if (error) {
    return console.log(error);
  }
  console.log('邮件已发送成功,邮件id: %s', info.messageId);
});

文档参考
nodemailer : https://www.npmjs.com/package/nodemailer
art-template : https://aui.github.io/art-template/zh-cn/docs/

你可能感兴趣的:(简单两步使用node发送qq邮件)