2017-08-02 26 views
1

Node.jsを使用してメールを送信できませんでした。私は以下のエラーが発生しています。NodemailerとNode.jsを使用してメールを送信できませんでした

{ 
    "error": { 
     "code": "EAUTH", 
     "response": "534-5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbvp\n534-5.7.14 j_smRtzyG0TYeMSMFUYlhfCGtpt9DmDE4ZR140rMTKNkk0ZwgtIEQ6Kik51kVBedggHrBA\n534-5.7.14 3mM-ha-68KYhP-IPiHTVQkjUj6HlwdSciwJUgyRqIYKTxTtA9N96CmRzCRiPpIPMf6UGu3\n534-5.7.14 ismcOTMvxqQK2naujp_fgkbLjzwPMj47j5cOoaWdIkdwy4qmqMXnw8ib3sdkRfBeUgjVGB\n534-5.7.14 iiSXqql1vBLMkKnk_HNyGdeQu8OwI> Please log in via your web browser and\n534-5.7.14 then try again.\n534-5.7.14 Learn more at\n534 5.7.14 https://support.google.com/mail/answer/78754 k97sm25351307qkh.29 - gsmtp", 
     "responseCode": 534, 
     "command": "AUTH PLAIN" 
    } 
} 

私は以下のコードを説明しています。

var nodemailer = require("nodemailer"); 
    var smtpTransport = nodemailer.createTransport({ 
     service: 'Gmail', 
     auth: { 
      user: '[email protected]', 
      pass: '********' 
     } 
    }); 
    rand=crypto.randomBytes(20).toString('hex'); 
    host=req.get('host'); 
    link="http://"+req.get('host')+"/api/users/verify?id="+rand; 

mailOptions={ 
       from: "[email protected]", 
       to : email, 
       subject : "Please confirm your Vodex account", 
       html : "Hello,<br> Please Click on the link to verify your Account.<br><a href="+link+">Click here to verify</a>" 
} 
    smtpTransport.sendMail(mailOptions,function(error, response){ 
     if (error) { 
        var data={'error':error}; 
        res.send(data); 
     }else{ 
        db.f_user_login.update({_id : docs._id },{$set:{verification_id:rand}},function(err,doc){ 
     if (!err) { 
        var edata=[{"email": docs.email,"dob": docs.dob,"created_date":docs.created_date ,"id": docs._id,"updated_date":docs.updated_date}]; 
        var data={"statusCode": 200,"data":edata ,"message": "The user registered successfull and an email is sent to your registered email for account verification."}; 
        res.send(data); 
       } 
      }) 
     } 
    }) 

このコードはlocalhost:8989のため正常に動作しているが、今、私はHerokuの中でコードを展開しているし、私のURLは、このhttps://node-fgdp.herokuapp.com/api/users/signupようなものです。ここで私はメールを送信して、上記のエラーを得ることができませんでした。 nodemailerとNode.jsを使ってメールを送信する必要があります

答えて

1

セキュリティ上の注意として、新しいデバイスやアプリケーションにログインする際に、キャプチャのロックを解除する追加の手順を完了する必要があります。

手動であなたのGoogleアカウントへのアクセスを許可する必要があります。ブラウザを使用して、Googleアカウントに

ログイン、それをアンロックするには、以下のリンクを参照してください。

アカウントへのアクセスが有効になって: https://accounts.google.com/DisplayUnlockCaptcha

ボタンを[許可]をクリックした後、あなたがメッセージが表示されるはずです。新しい端末やアプリケーションからGoogleアカウントにもう一度ログインしてみてください。

リファレンス
https://support.google.com/mail/answer/7126229?visit_id=1-636373008143011090-3861871695&rd=2#cantsignin

関連する問題