用流星/Javascript发送带有联系表单数据的电子邮件给我自己

Send an email with contact form data to myself with Meteor/Javascript

本文关键字:数据 表单 电子邮件 我自己 联系 流星 Javascript      更新时间:2023-09-26

我正试图弄清楚如何使用从联系表单收集的数据向自己发送电子邮件。我正在构建一个应用程序使用流星和引导。如果这样更容易的话,我愿意将数据写入谷歌电子表格,但更愿意发送电子邮件。下面是我到目前为止的代码:

HTML:

<div class="modal fade" id="contact">
          <div class="modal-dialog">
            <div class="modal-content">
              <form class="form-horizontal" onsubmit="return check_contact();">
                <div class="modal-header" style="text-align: center">
                  <img style="max-width:140px;" src="LagoonLogoContact.png">
                </div>
                <div class="modal-body">
                  <div class="form-group">
                    <label for="contact-name" class="col-lg-1 control-label"><i class="fa fa-user" id="contact-name-icon"></i></label>
                    <div class="col-lg-11">
                      <input type="text" class="form-control" id="contact-name" placeholder="name">
                    </div>
                  </div>
                  <div class="form-group">
                    <label for="contact-email" class="col-lg-1 control-label"><i class="fa fa-envelope-o" id="contact-email-icon"></i></label>
                    <div class="col-lg-11">
                      <input type="email" class="form-control" id="contact-email" placeholder="email">
                    </div>
                  </div>
                  <div class="form-group">
                    <label for="contact-msg" class="col-lg-1 control-label"><i class="fa fa-pencil" id="contact-message-icon"></i></label>
                    <div class="col-lg-11">
                      <textarea class="form-control" rows="8" placeholder="message" id="contact-message"></textarea>
                    </div>
                  </div>
                </div>
                <div class="modal-footer">
                  <a class="btn btn-primary pull-left" data-dismiss="modal"><i class="fa fa-times-circle"></i> Close</a>
                  <button class="btn btn-primary pull-right" type="submit"><i class="fa fa-paper-plane"></i> Send</button>
                </div>
              </form>
            </div>
          </div>
        </div>

JAVASCRIPT(在同一页面的HTML下面):

 <script>
    function check_contact() {
      var name = document.getElementById('contact-name').value;
      var email = document.getElementById('contact-email').value;
      var message = document.getElementById('contact-message').value;
      var reg = /^'w+([-+.']'w+)*@'w+([-.]'w+)*'.'w+([-.]'w+)*$/;
      if(name == "" || email == "" || message == ""){
        document.getElementById('contact-name').style.border = "1px solid black";
        document.getElementById('contact-name-icon').style.color = "black";
        document.getElementById('contact-email').style.border = "1px solid black";
        document.getElementById('contact-email-icon').style.color = "black";
        document.getElementById('contact-message').style.border = "1px solid black";
        document.getElementById('contact-message-icon').style.color = "black";
        if(name == ""){
        document.getElementById('contact-name').style.border = "1px solid #ff6464";
        document.getElementById('contact-name-icon').style.color = "#ff6464";
        }
        if(email == "" || !reg.test(email)){
        document.getElementById('contact-email').style.border = "1px solid #ff6464";
        document.getElementById('contact-email-icon').style.color = "#ff6464";
        }
        if(message == ""){
        document.getElementById('contact-message').style.border = "1px solid #ff6464";
        document.getElementById('contact-message-icon').style.color = "#ff6464";
        }
        return false;
      }
      else{
        if(reg.test(email)){
          console.log("working here");
          var nameSend = $('#contact-name').val();
          var emailSend = $('#contact-email').val();
          var messageSend = $('#contact-message').val();
          var dataSend = 'nameSend=' + name + '&emailSend=' + email + '&messageSend=' + message;
          console.log(dataSend);

          return true;
          }
        else {
          return false;
        }
      }
    }
  </script>

谢谢你的帮助!:)

电子邮件包可以让你很容易地发送电子邮件。注意,email.send()只在服务器上工作,因此您需要定义一个服务器方法并从客户机调用它。

你还需要小心不要创建一个垃圾邮件向量:如果客户端可以调用这个函数的所有参数,那么任何人都可以很容易地编写它来发送无数的电子邮件。通常你不希望收件人和正文字段都来自客户端。