相关疑难解决方法(0)

NodeMailer - 使用Google服务帐户发送邮件失败,因为"用户名和密码未被接受"

我正在创建一个Twitter机器人,我正在实现一种方法,如果出现错误,会向我发送电子邮件.由于我已经使用谷歌API访问谷歌硬盘(这里没有问题),我决定使用服务帐户发送电子邮件(谷歌控制台说它可以这样使用)

我到目前为止发送电子邮件的方法是:

var config = require('./config/mail');
var google = require('./config/google');
var nodemailer = require('nodemailer');

var send = function (args) {
  let transporter = nodemailer.createTransport({
    'service': 'gmail',
    'auth': {
        'type': 'OAuth2',
        'user': google.client_email,
        'serviceClient': google.client_id,
        'privateKey': google.private_key
    }
  });
  transporter.on('token', token => console.log(token));

  let message = {
    'from': `"${config.serverFromName}" <${config.serverFromMail}>`,
    'to': args.to,
    'subject': args.subject,
    'text': args.text,
    'html': `<p>${args.text}</p>`
  };

  transporter.sendMail(message, (err, info) => {
    if (err) {
      console.log('Mail couldn\'t be sent because: ' + err);
    } else {
      console.log('Mail sent');
    } …
Run Code Online (Sandbox Code Playgroud)

email google-apps node.js google-oauth nodemailer

6
推荐指数
1
解决办法
2163
查看次数

标签 统计

email ×1

google-apps ×1

google-oauth ×1

node.js ×1

nodemailer ×1