使用nodemailer,以QQ邮箱发送邮件踩到的坑

可紊 提交于 2020-01-13 12:19:37

根据nodemailer官网的配置进行配置

  // create reusable transporter object using the default SMTP transport
  let transporter = nodemailer.createTransport({
    host: "smtp.qq.email", // 邮箱后缀
    port: 587,
    secure: false, // true for 465, false for other ports 
    auth: {
      user: 'xxxxxxxxx@qq.com', // generated ethereal user(邮箱账号)
      pass: 'xxxxxxxxx' // generated ethereal password(邮箱密码)
    }
  });

  // send mail with defined transport object
  let info = await transporter.sendMail({
    from: '"Fred Foo 👻" <xxxxxxxxx@qq.com>', // sender address   <>内填写上面发送邮件的邮箱账号
    to: "bar@example.com, baz@example.com", // list of receivers  接收邮件的账号
    subject: "Hello ✔", // Subject line
    text: "Hello world?", // plain text body
    html: "<b>Hello world?</b>" // html body
  });
  });

好,配置完成之后登陆发送邮件的QQ邮箱,开启SMTP服务。

开启服务完成,使用postman进行接口测试,结果一直返回错误(并非报错),验证了一下邮箱账号和密码没错,打印了一下error提示登陆出错需要授权码。这才想起来开启SMTP服务时有提示在第三方登陆QQ邮箱需要授权码,就把

auth: {
      user: testAccount.user, // generated ethereal user(邮箱账号)
      pass: testAccount.pass // generated ethereal password(授权码)
    }

中的pass的值改成了QQ邮箱提供的授权码,再进行测试时返回成功的值。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!