2016-10-20 1 views
-1

노드 js 및 메일 총에 새로운. 나는 내 index.html 페이지에서 내 보내기 버튼에 대해 다음을 사용하는 웹 사이트에서 'contact us'전자 메일을 보내려고합니다.노드 js 및 mailgun을 사용하여 연락처 전자 메일을 보내는 방법은 무엇입니까?

 <!-- START CONTACT SECTION --> 
    <section class="section-contact" id="contacts"> 
     <div class="container"> 

      <!-- START SECTION HEADER --> 
      <h2 class="reveal reveal-top">Contact Us</h2> 
      <div class="subheading reveal reveal-top"> 
       Hit us up. Let us know how we can make things better (<b>[email protected] </b>). 
      </div> 
      <!-- END SECTION HEADER --> 

      <div class="contact-form-wrapper reveal reveal-bottom"> 

       <!-- START CONTACT FORM --> 
      <!-- <form method="POST" action="./scripts/writeus.php" accept-charset="UTF-8" class="contact-form" id="jvalidate" novalidate="novalidate"> --> 
       <form method="POST" action="./scripts/mailgun.php" accept-charset="UTF-8" class="contact-form" id="jvalidate" novalidate="novalidate"> 
       <!-- <form method="POST" action="send_mailgun($email)" accept-charset="UTF-8" class="contact-form" id="jvalidate" novalidate="novalidate"> --> 


        <div class="row"> 
         <div class="col-sm-12 col-md-4"> 
          <div class="field-holder"> 
           <input class="form-control input-lg field" placeholder="John Snow" name="name" type="text"> 
          </div> 
         </div> 
         <div class="col-sm-12 col-md-4"> 
          <div class="field-holder"> 
           <input class="form-control input-lg field" placeholder="[email protected]" name="email" type="email"> 
          </div> 
         </div> 
         <div class="col-sm-12 col-md-4"> 
          <div class="field-holder"> 
           <input class="form-control input-lg field" placeholder="Subject" name="website" type="text"> 
          </div> 
         </div> 
         <div class="col-md-12 col-xs-12"> 
          <div class="field-holder"> 
           <textarea class="form-control" placeholder="Some text" name="message" cols="50" rows="10"></textarea> 
          </div> 
         </div> 

         <div class="form-group"> 
          <div class="col-md-12"> 
           <div class="alert alert-success" role="alert" style="display: none;"> 
            Message has been successfully sent. 
           </div> 
           <div class="alert alert-danger" role="alert" style="display: none;"> 
            <div class="alert-text">Server error</div> 
           </div> 
          </div> 
         </div> 
        </div> 
        <div class="row"> 
         <div class="col-md-12"> 
          <button class="btn btn-primary btn-contact" type="submit" value="SEND MESSAGE">SEND MESSAGE</button> 
         </div> 
        </div> 
       </form> 
       <!-- END CONTACT FORM --> 

      </div> 

     </div> 
    </section> 
    <!-- END CONTACT SECTION --> 

내가 익스프레스와 Node.js를 가지고 mailgun 설치를 넣고 열심히 버튼을받을 수 있나요 어떻게 내 server.js

var Mailgun = require('mailgun').Mailgun; 

var mg = new Mailgun('some-api-key'); 
mg.sendText('[email protected]', 'Recipient 1 <[email protected]>', 
    'This is the subject', 
    'This is the text', 
    '[email protected]', {}, 
    function(err) { 
    if (err) console.log('Oh noes: ' + err); 
    else  console.log('Success'); 
}); 

을에 테스트로 코딩 된 조각 내 로컬 컴퓨터에서 작업 정보 및 내 index.html에서 보낼 수 있습니까?

도움 주셔서 감사합니다. 매우 감사.

+0

귀하의 HTML 버튼을 코포 Brovida 당신이 – yeya

답변

0

양식 또는 아약스 전화로 제출하려면 웹 서버를 만들어야합니다. 이 봐 : http://expressjs.com/

예 :

var express = require('express'); 
var Mailgun = require('mailgun').Mailgun; 
var app = express(); 

app.post('/sendMail', function (req, res) { 

    /*use body-parser (https://github.com/expressjs/body-parser) for parameters */ 
    var mg = new Mailgun('some-api-key'); 
    mg.sendText('[email protected]', 'Recipient 1 <[email protected]>', 
     'This is the subject', 
     'This is the text', 
     '[email protected]', {}, 
     function(err) { 
     if (err) { 
      console.log('Oh noes: ' + err); 
      res.send('Error occurred'); 
     } 
     res.send('Email sent'); 
     }); 

app.listen(3000, function() { 
    console.log('Example app listening on port 3000!'); 
}); 
+0

확실하지하지만, 내가 오해가 있다고 생각을 위해 만들어진 서버 주소에 게시해야합니다. 내 로컬 컴퓨터에서 작동하는 Express 및 Mailgun과 함께 Node.js가 있습니다. 나는 mailgun과 html 버튼을 사용하여 이메일을 보내고 이메일을 보내는 방법을 모르겠습니다. 나는 'npm start'로 하드 코딩 된 테스트 이메일을 보낼 수있다. – AhabLives

+0

html 버튼 –

+0

에서 직접 호출 할 수 없습니다.

@ Jacopa Brovida 정확히 "sendMail".js 파일은 무엇입니까? 그렇다면 파일을 '공용'폴더 또는 루트에 배치해야합니까? 감사. – AhabLives

관련 문제