2013-11-24 95 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