Php 联系人表单不发送完整的电子邮件

Php 联系人表单不发送完整的电子邮件,php,email,contact-form,Php,Email,Contact Form,我设法使我的联系表工作,但不知何故,我不能使它发送的信息结构如何,我想 我的代码是: <?php $name = $_POST['name']; $email = $_POST['email']; $messagesubject = $_POST['subject']; $text = $_POST['text']; $to = "name@email.com"; $subject = 'Message from a site visitor '.$name; $content =

我设法使我的联系表工作,但不知何故,我不能使它发送的信息结构如何,我想

我的代码是:

<?php
$name = $_POST['name'];
$email = $_POST['email'];
$messagesubject = $_POST['subject'];
$text = $_POST['text'];

$to = "name@email.com";
$subject = 'Message from a site visitor '.$name;


$content = 'Name: '.$name."\r\n";
$content .= 'E-mail: '.$email."\r\n";
$content .= 'Subject: '.$messagesubject."\r\n";
$content .= 'Message: '.$text."\r\n";


$send_contact=mail($to,$subject,$content);

if($send_contact){
echo "Thank you!";
}
else {
echo "ERROR";
}
?>

我收到了一封邮件,但在发件人地址(发件人)上写着我来自托管服务器的电子邮件地址。如果我在邮件()中添加$headers(我创建了如下标题:“$headers=”From:”.$field\u email。“\r\n”;”),则我不会收到任何邮件

请帮忙

(*我重新编辑了我的帖子)

您有三个错误(还有一个额外的错误):

  • 将邮件正文放在名为
    $message
    的变量中,但在
    mail()
    函数中使用名为
    $text
    的变量

  • 标题使用了错误的变量。您使用的
    $email
    应该是
    $headers

  • 另外,您的
    mail()
    函数中的变量似乎有问题。标题在消息正文之后

  • 您编写了一个名为
    $formcontent
    的变量,但从未使用过它。无论如何,它与
    $message
    是冗余的

  • $send\u contact=mail($to、$subject、$message、$headers)

    试试这个

    <?php
        error_reporting(0); 
        if(isset($_POST['submit_button']))
        {     
        $to = 'name@gmail.com';
        $name = $_POST['name'];
        $email = $_POST['email'];
        $msg = $_POST['msg'];
        $subject = $_POST['subject'];
    
         $message.="Name : $name \n \n";
         $message.="Email : $email \n \n";
         $message.="Message : $msg \n \n";
    
            $headers = "From: ".$_POST['email']." (My Email Form )";
            if(mail($to, $subject, $message, $headers))
            {
            echo "Thank you!";
            }
            else {
            echo "ERROR";
            }
        }
        ?>
        <form id="contact-form" method="POST">
             <input name="name" type="text" class="form-control" placeholder="Name" required>
             <input name="email" type="email" class="form-control" placeholder="Email" required>
             <input name="subject" type="text" class="form-control" placeholder="Subject" required>
             <textarea name="msg" class="form-control" placeholder="Message" rows="5" cols="30" required></textarea>
            <input type="submit" name="submit_button" value="send"/>
        </form>
    

    这看起来像cargo cult编程。另外,第一条
    $message
    中的点应该省略
    $message.='From:'$名称“\n”