2016-06-15 13 views
1

그래서 cloud9를 IDE, nodejs, express 및 [email protected] 및 nodemailer-sendgrid-transport로 사용하고 있습니다. 센드 메일 함수가 호출되는 여기nodemailer [오류 : 정의 된 전송 방법 없음]

var nodemailer=require('nodemailer'); 
var sgTransporter = require('nodemailer-sendgrid-transport'); 
var options={ 
    auth: { 
     api_user: "xxx", 
     api_pass: "xxx" 
    } 
}; 
var client = nodemailer.createTransport(sgTransporter(options)); 

var sendMail=function(emailTo, subject, html, fn){ 
    var mailOptions={ 
     from:'xxx', 
     to:emailTo, 
     subject:subject, 
     html:html 
    }; 

    client.sendMail(mailOptions, function(error, response){ 
     if(error){ 
      console.log(error); 
      fn(error); 
     } 
     else{ 
      console.log("Message sent: " + response.message); 
      fn(response); 
     } 
    }); 
}; 

: 그리고 여기 내 코드의

router.get('/verifyEmail', function(req,res){ 
    if(req.isAuthenticated()) { 
     var subject='Verify your email address'; 
     var link="https://myapp-myuser.c9users.io/verify/:"+req.user._id; 
     var html='Hello,<br> Please Click on the link to verify your Account.<br><a href='+link+'>Click here to verify</a>'; 
     console.log('Sending verification email to: '+req.user.email); 
     sendMail(req.user.email,subject, html,function(error, response){ 
      if (error){ 
       return res.status(400).json({error:error}); 
      } 
      return res.status(200).json(response); 
     }); 
    } 
}); 

하지만 이메일이 전송되지 않는 ... 나는 다음과 같은 오류 얻을 : 내가 가지고있는 [Error: No transport method defined]

을 많은 다른 해결책을 시도했다. 내가 본대로, 나는이 예제에서와 똑같은 일을하고있다. https://sendgrid.com/blog/sending-email-nodemailer-sendgrid/ 아마도 이것은 cloud9 문제 일까 ?? Gmail 계정을 사용해 보았습니다. 같은 오류가 안전하지 않은 애플리케이션을 허용 한 후 ...

편집은 : 버전 2.4.2과 새로운 오류로 좋아, 내가 업그레이드 한 nodemailer이 시대의 가장으로 ... [Error: The provided authorization grant is invalid, expired, or revoked]

답변

0

을 던져됩니다 ...

auth: { 
    api_user: "xxx", 
    api_pass: "xxx" 
} 

는 다음과 같이 기록되어 있어야합니다 :

auth: { 
    api_user: "xxx", 
    api_key: "xxx" 
} 

그와 nodema 그것이 내가이에 갇혀 있었다 아이쿠, 작은 것들의 ... 문제는이이었다 iler 's version ...