如何从 wordpress php 发送电子邮件?

我在从 Wordpress 中的联系页面表单发送电子邮件时遇到问题。


这是表格:


<?php

  /*

  Template Name: Contact

  */

  ?>

<?php get_header();?>

<div class="container-fluid main-content content-color">

  <div class="row justify-content-center">

    <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 pb-5">

      <!--Form with header-->

      <form action="" method="post">

        <div class="card border-primary rounded-0">

          <div class="card-header p-0">

            <div class="bg-info text-white text-center py-2">

              <h3><i class="fa fa-envelope"></i> Contactanos</h3>

              <p class="m-0">Con gusto te ayudaremos</p>

            </div>

          </div>

          <div class="card-body p-3">

            <!--Body-->

            <div class="form-group">

              <div class="input-group mb-2">

                <div class="input-group-prepend">

                  <div class="input-group-text"><i class="fa fa-user text-info"></i></div>

                </div>

                <input type="text" class="form-control" id="nombre" name="nombre" placeholder="Nombre y Apellido" required>

              </div>

            </div>

            <div class="form-group">

              <div class="input-group mb-2">

                <div class="input-group-prepend">

                  <div class="input-group-text"><i class="fa fa-envelope text-info"></i></div>

                </div>

                <input type="email" class="form-control" id="nombre" name="email" placeholder="ejemplo@gmail.com" required>

              </div>

            </div>

            <div class="form-group">

              <div class="input-group mb-2">

                <div class="input-group-prepend">

                  <div class="input-group-text"><i class="fa fa-comment text-info"></i></div>

                </div>


是否可以通过按发送按钮将电子邮件发送到静态电子邮件?我尝试使用 JavaScript,但它没有发送任何内容,而且我不理解 Wordpress 的功能,wp_email()因为每当我调用它时它都会显示此错误:


“未捕获的错误:调用未定义的函数 wp_mail ()”


一只名叫tom的猫
浏览 101回答 1
1回答

慕沐林林

您的表单无法正常工作,因为您的表单中没有任何操作。它应该是这样的:<form method="post" action="/send-email.php">在 send-email.php 文件中,您将拥有电子邮件功能。例子:<?phpif(isset($_POST['submit'] == 'Send')) {&nbsp; &nbsp; $ToEmail = 'sample@sample.com';&nbsp; &nbsp; $EmailSubject = 'Contact Form';&nbsp; &nbsp; $mailheader = "From: " . $_POST["email"] . "\r\n";&nbsp; &nbsp; $mailheader .= "Reply-To: " . $_POST["email"] . "\r\n";&nbsp; &nbsp; $mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n";&nbsp; &nbsp; $MESSAGE_BODY = " <strong>Name:</strong> " . $_POST["name"] . "";&nbsp; &nbsp; $MESSAGE_BODY .= "<br> <strong>Email:</strong> " . $_POST["email"] . "";&nbsp; &nbsp; $MESSAGE_BODY .= "<br> <strong>Telephone:</strong> " . $_POST["telephone"] . "";&nbsp; &nbsp; $MESSAGE_BODY .= "<br><br> <strong>Message:</strong> " . nl2br($_POST["message"]) . "";&nbsp; &nbsp; $status = mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die("Failure");}if($status){&nbsp; &nbsp; echo "your success message";}&nbsp;?>上面的代码未经测试,但如果根据您的表单字段进行调整,它应该可以工作。您可以在上述文件中使用wp_mail()而不是 php mail() 。提交表单的另一种方法是通过 AJAX。您将不得不禁用提交按钮的默认行为并添加 jQuery(或 JavaScript)代码,点击它会通过 Ajax 发送您的表单数据。这个答案或这个答案可以帮助你。最后,您可以随时使用流行的表单插件(如CF7)为自己节省大量时间。
打开App,查看更多内容
随时随地看视频慕课网APP