首页 > 解决方案 > php中的html表单不从服务器发送到电子邮件

问题描述

我的 php 页面中有一个表单,如下所示:

<form action="" method="post">
  <h1>Sign Up Now!
    <!-- <span>Sign up and tell us what you think of the site!</span> --></h1>
  <div class="inner-wrap">
    <label>Your Full Name <input type="text" name="field1" /></label>
    <label>Address <textarea name="field2"></textarea></label>
  </div>




  <div class="button-section">
    <input type="submit" value="Submit" name="Sign Up" />

  </div>
</form>

它的代码如下:

<?php 
if(isset($_POST['submit'])){

    $to = "zubairking@gmail.com"; // this is your Email address
    $from = $_POST['field1']; // this is the sender's Email address
    $first_name = $_POST['first_name'];
    $last_name = $_POST['last_name'];
    $subject = "Form submission";
    $subject2 = "Copy of your form submission";
    $message = $first_name . " " . $last_name . " wrote the following:" . "\n\n" . $_POST['message'];
    $message2 = "Here is a copy of your message " . $first_name . "\n\n" . $_POST['message'];

    $headers = "From:" . $from;
    $headers2 = "From:" . $to;
    mail($to,$subject,$message,$headers);
    mail($from,$subject2,$message2,$headers2); // sends a copy of the message to the sender
    echo "Mail Sent. Thank you " . $first_name . ", we will contact you shortly.";
    // You can also use header('Location: thank_you.php'); to redirect to another page.
    }
?>

我的服务器也启用了邮件,但是我的这段代码没有向我的邮件发送值,所有代码都在一页中,谁能告诉我我的代码有什么问题?提前致谢

标签: phphtml

解决方案


您需要提交按钮才能满足name="submit"条件if(isset($_POST['submit']))。您还需要在表单中添加 names='first_name'、'last_name' 和 'message' 的元素,以便在您尝试执行的操作时将它们应用到您的电子邮件消息中。您还需要<input type="text" name="field1" />成为电子邮件而不是名称,因为您正在使用它来设置电子邮件的发件人。


推荐阅读