2016-10-25 7 views
0

nodemailerを使用して管理者にメールを送信させていますが、これまでのコードでは情報やエラーは返されません。Nodemailerはメール送信時に何も返しません。

約束は問題なく返されますが、常に空です。 transporter.verifyを使用しようとすると、情報やエラーも返されません。 問題の管理者を見つけることに問題はありません。

var deferred = Q.defer(); 

Admin.findOne({username: 'admin'}, function(err, res) 
{ 
    if(err) deferred.resolve(err); 

    if(res) 
    { 
     var admin = _.omit(res.toJSON(), 'password'); 

     var transporter = nodemailer.createTransport("SMTP", { 
      service: 'gmail', 
      auth: { 
       user: '[email protected]', 
       pass: "password_here" 
      } 
     }); 

     var mailOptions = { 
      from: '[email protected]', 
      to: '[email protected]', 
      subject: 'TEST', 
      text: 'TEST', 
      html: '<p> TEST EMAIL </p>' 
     }; 

     transporter.sendMail(mailOptions, function (err, info) { 
      if (err) deferred.reject(err); 

      if(info){ 
       deferred.resolve(info); 
      } else { 
       deferred.resolve(); 
      } 
     }); 
    } else { 
     deferred.reject("Cannot find admin"); 
    } 
}); 

return deferred.promise; 

答えて

0

あなたが 'Admin.findOne'

if(err) deferred.reject(err); 

if(err) deferred.resolve(err); 

とモンゴにエラーが発生しているように見える、コードを編集してください

関連する問題