2016-09-28 7 views
1

로컬로 테스트하려는 웹 페이지에 nodemailer 기능이 있습니다. 내 package.json에서 버전은 "nodemailer": "0.7.1"입니다.설명이없는 Nodemailer 오류

var express = require('express'); 
var router = express.Router(); 
var nodemailer = require("nodemailer"); 


router.get('/', function(req, res, next) { 
    res.render('home'); 
}); 

var smtpTransport = nodemailer.createTransport("SMTP",{ 
    service: "Gmail", 
    auth: { 
    user: "[email protected]", 
    pass: "examplePass" 
    } 
}); 

router.get('/send',function(req,res){ 
    var mailOptions={ 
     from : req.query.from 
    } 
     console.log(mailOptions); 
     smtpTransport.sendMail(mailOptions, function(error, response){ 
    if (error){ 
     console.log(error); 
     res.end("error"); 
    } else { 
     console.log("Message sent: " + response.message); 
     res.end("sent"); 
    } 
    }); 
}); 

module.exports = router; 

을 그리고 내 페이지에 내가 간다 하단에 스크립트가 있습니다 : 내 라우팅 파일에서 내가 가진

$(document).ready(function(){ 
    var to,from; 
    $(".signup").on("click", function(){ 
    from = $("#search").val(); 

    $.get("/send", 
      {from:from}, 
      function(data){ 
      alert("Thanks :) We'll keep you updated."); 
      location.reload(true); 
      }); 
    }); 
}); 

내가 몇 가지를 테스트하고 내가 가입 버튼을 클릭하면 내가 어떻게해야합니까를 '보낸 사람'필드와 경고 메시지가 표시되며 알림을 승인 한 후 페이지가 다시로드됩니다.

문제는 메일이 실제로받은 편지함에 도착하지 않고, 내가 요청의 네트워크에 보면, 내가 상태 코드는 것을 알 수 있습니다 콘솔 MSG (파이어 폭스) 단순히 "syntax error send:1:1"

를 읽고 있다는 것입니다 는 200 OK이지만 '응답'탭에는 아무런 설명도없이 '오류'만 표시됩니다.

아무 정보도없이 디버깅 할 수 없으므로 누군가가 왜 작동하지 않는지 알 수 있기를 바랍니다. 그 방법으로 완벽하게 작동하고 기본적으로 거기에서 복사 붙여 넣기 않았다 다른 사이트가 있기 때문에 작동해야합니다 ...

고마워.

답변

1

Nodemailer STMP 기능의 데이터 필드에 문제가 있음이 나타납니다. 특히 'to : [email protected]'매개 변수를 생략했습니다.

나는 나에게 기능을 다시 필드를 확인 할 수있는 아이디어를 준이 게시물에 부딪히는 결국 서버 측에서 CONSOLE.LOG을 통해이 문제를 디버깅 할 수 있었다 : 추가, 어떤 경우 Sending email from local host with Nodemailer

을 ' to : '에서'from : '트릭을했습니다.