2013-11-24 62 views
0

我尝试使用Nodemailer与我的GMail帐户一起发送电子邮件,但它不起作用,它可以在本地但在我的远程服务器上运行我收到来自Google的电子邮件“某人正在使用您的帐户....“带有访问令牌的Nodemailer和GMail

我该怎么办?

exports.contact = function(req, res){ 
     var name = req.body.name; 
     var from = req.body.from; 
     var message = req.body.message; 
     var to = '******@gmail.com'; 
     var transport = nodemailer.createTransport("SMTP", { 
      service: 'Gmail', 
      auth: { 
       XOAuth2: { 
        user: "******@gmail.com", 
        clientId: "*****", 
        clientSecret: "******", 
        refreshToken: "******", 
       } 
      } 
     }); 
     var options = { 
      from: from, 
      to: to, 
      subject: name, 
      text: message 
     } 
     transport.sendMail(options, function(error, response) { 
      if (error) { 
      console.log(error); 
      } else { 
      console.log(response); 
      } 
      transport.close(); 
     }); 
    } 
+0

回答这里 - http://stackoverflow.com/q/24098461/4640499。 –

回答

1

退房从Unable to send email via google smtp on centos VPS解决方案:

就我而言,我的剧本是一个VPS,所以我没有办法加载任何网址与浏览器。我做了什么:更改了我的Gmail。 Gmail>设置>帐户。然后在Google帐户中列出了被Google阻止的可疑登录(这些是我的脚本尝试登录的)。然后我点击选项“是的,就是我”。之后,我的脚本工作(使用新的PW)。

+0

好的,但有没有其他解决方案,因为它似乎很奇怪,我们必须更改密码并解锁我们的脚本... – tonymx227