2013-06-05 2 views
4

nodemailer로 문의 양식을 설정하려고합니다.nodemailer로 메일 보내기 - 필드에서 잘못된 이메일

// EMail configuration 
var smtpTransport = nodemailer.createTransport("SMTP",{ 
    service: "Gmail", 
    auth: { 
     user: "myemailaddress", 
     pass: "xxx" 
    } 
}); 

// CONTACT FORM 
app.get('/contact', function (req, res) { 
    res.render("contact"); 
}); 

app.post('/contact', function (req, res) { 
    var mailOptions = { 
     from: req.body.email, // sender address 
     to: "myemailaddress", // list of receivers 
     subject: req.body.subject, // Subject line 
     text: req.body.message, // plaintext body 
    } 
    smtpTransport.sendMail(mailOptions, function(error, response){ 
     if(error){ 
      console.log(error); 
     }else{ 
      console.log("Message sent: " + response.message); 
     } 
     smtpTransport.close(); // shut down the connection pool, no more messages 
    }); 
    res.render("contact", { success: "building web app" }); 
}); 

그리고 내 contact.jade 템플릿은 다음과 같습니다 : 여기 내 app.js에있어 무엇

이메일은 이제 작동하지만 이메일에 입력 한 것이 아니라 myemailaddress에서 오는

form#contact-form(action="/contact", method="POST") 
div.span5 
    p Full name: 
     input#name(type="text", name="name") 
    p Email address: 
     input#email(type="email", name="email") 
    p Subject: 
     input#subject(type="text", name="subject") 
    p Message: 
     textarea#message(type="text", name="message", rows="5") 
    p: button(type="submit") Send message 
필드에 템플릿. 아이디어가 없습니다.

답변

4

Gmail 및 기타 많은 이메일 서비스에서는 다양한 FROM 필드를 사용하여 메시지를 보낼 수 없습니다. 당신이 소인을 사용할 수 있습니다

+1

아에 대한 노드 모듈 확인,있다. 그래서 메시지 텍스트 본문에 대신 넣을 것입니다. 고마워. – babbaggeii

+1

수정할 수있는 사람은 보낸 사람의 이름이므로 'Joe Doe <[email protected]>'은 'My mailing service <[email protected]>'일 수 있습니다. – wachme

+0

Thanks @ Wachme! 나는 이메일 서비스를 사용하는 것에 대해 아주 새로운 사람이다. 이 맞춤 설정을 허용하는 이메일 제공 업체 목록이 있습니까? Amazon SES가이를 수행 할 수 있습니까? 그리고 Gmail에서 지정하지 않은 원본 문서 나 기타 리소스를 공유 할 수 있습니까? 감사! – Adam