0%

NodeJS 发送邮件

  1. 安装依赖
    npm install nodemailer
  2. 需要先开启 qq 的 SMTP,在设置(左上角 qq 号后面) - 账号(顶部页签里面) - POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 开启
  3. 配置传送服务,更多细节参考 官方文档
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    const transporter = nodemailer.createTransport({
    service: "qq", //如果使用 service 就不用配置 host 和 port 了
    // host: "smtp.qq.com",
    // port: 465,
    secure: true,//安全方式发送
    auth: {
    user: "邮箱地址,例如 10000@qq.com和下面的 from 保持一致",
    pass: "这里不是密码,是授权码,开启 SMTP 的时候会生成"//注意,这里没有用密码的,都是授权码,不同的平台可能获取授权码方式不一样,qq 是发短信
    },
    });
  4. 发送邮件
    1
    2
    3
    4
    5
    6
    7
    8
    const info = await transporter.sendMail({
    from: '发送人',
    to: '收件人,如果是多个可以逗号隔开',
    subject: 'node邮件',
    text: 'hello nodemailer',
    html: '<h1>hello world~</h1>'
    });
    console.log("Message sent: %s", info.messageId);
  5. 查询发送历史