2016-10-20 13 views
-1

ノードjsとメール銃に新しい。私は(私のindex.htmlページの)私の送信ボタンのために以下を使用しているウェブサイトから「私達に連絡する」電子メールを送信しようとしています。ノード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 --> 

私はExpressでの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

あなたのフォームまたはajax呼び出しから送信を受け取るには、Webサーバーを作成する必要があります。これを見て: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を持っています。私はどのようにメールを送信し、電子メールとhtmlボタンを使用して電子メールを確認するだけではない。私は、「npm start」というハードコーディングされたテストメールを送信することができます。 – AhabLives

+0

htmlボタンから直接呼び出すことはできません –

関連する問題