簡體   English   中英

如何使用Node JS和Mailgun發送聯系人電子郵件?

[英]How to send contact email with node js and mailgun?

Node js和Mail Gun的新功能。 我正在嘗試從網站發送“與我們聯系”電子郵件,該網站的發送按鈕使用以下命令(在index.html頁面上)。

      <!-- 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>Support@mail.com </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="myReplyEmail@Address.com" 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和mailgun的Node.js,並在本地計算機上工作,其中的代碼段硬編碼為server.js中的測試

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

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

如何獲取按鈕信息並從index.html發送?

謝謝您的幫助。 非常感激。

您需要創建Web服務器來接收來自表單或Ajax調用的提交。 看看這個: 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('example@example.com', 'Recipient 1 <rec1@example.com>',
         'This is the subject',
         'This is the text',
         'noreply@example.com', {},
      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!');
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM