为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
一只名叫tom的猫 2022-11-12 13:38:46
我在从 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 ()”
查看完整描述

1 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

您的表单无法正常工作,因为您的表单中没有任何操作。它应该是这样的:


<form method="post" action="/send-email.php">

在 send-email.php 文件中,您将拥有电子邮件功能。例子:


<?php

if(isset($_POST['submit'] == 'Send')) {

    $ToEmail = 'sample@sample.com';

    $EmailSubject = 'Contact Form';

    $mailheader = "From: " . $_POST["email"] . "\r\n";

    $mailheader .= "Reply-To: " . $_POST["email"] . "\r\n";

    $mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n";

    $MESSAGE_BODY = " <strong>Name:</strong> " . $_POST["name"] . "";

    $MESSAGE_BODY .= "<br> <strong>Email:</strong> " . $_POST["email"] . "";

    $MESSAGE_BODY .= "<br> <strong>Telephone:</strong> " . $_POST["telephone"] . "";

    $MESSAGE_BODY .= "<br><br> <strong>Message:</strong> " . nl2br($_POST["message"]) . "";

    $status = mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die("Failure");


}


if($status){

    echo "your success message";

}

 ?>

上面的代码未经测试,但如果根据您的表单字段进行调整,它应该可以工作。您可以在上述文件中使用wp_mail()而不是 php mail() 。


提交表单的另一种方法是通过 AJAX。您将不得不禁用提交按钮的默认行为并添加 jQuery(或 JavaScript)代码,点击它会通过 Ajax 发送您的表单数据。这个答案或这个答案可以帮助你。


最后,您可以随时使用流行的表单插件(如CF7)为自己节省大量时间。


查看完整回答
反对 回复 2022-11-12
  • 1 回答
  • 0 关注
  • 74 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信