2013-11-24 6 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에 그래서 브라우저에있는 URL을로드 할 수있는 방법이 없습니다. 내가 한 일 : 내 Gmail 계정을 변경했습니다. Gmail> 설정> 계정. 그런 다음 Google 계정에서 Google에 의해 차단 된 의심스러운 로그인을 나열했습니다 (내 스크립트의 로그인 시도). 그런 다음 "예, 저였습니다"라는 옵션을 클릭했습니다. 그 후 스크립트가 작동했습니다 (새로운 pw 사용).

+0

암호를 변경하고 스크립트의 잠금을 해제해야한다는 것이 이상하게 보일 수 있으므로 다른 해결책이 있습니다 ... – tonymx227