Javascript Contact.php发送电子邮件,但不包含文本消息

Javascript Contact.php发送电子邮件,但不包含文本消息,javascript,php,jquery,email,contact-form,Javascript,Php,Jquery,Email,Contact Form,我在我的网站上实现了以下联系人表单(来自模板),我可以成功发送和接收电子邮件,但我的收件箱中没有收到消息部分(用户文本)。 我从电子邮件中收到了姓名和地址,但没有收到邮件的内容 有人能帮忙找到并解决问题吗?是php、jQuery还是html错了 HTML: <form action="contact.php" class="contact_form" id="form" method="post"> <div class="col-lg-6 c

我在我的网站上实现了以下联系人表单(来自模板),我可以成功发送和接收电子邮件,但我的收件箱中没有收到消息部分(用户文本)。 我从电子邮件中收到了姓名和地址,但没有收到邮件的内容

有人能帮忙找到并解决问题吗?是php、jQuery还是html错了

HTML:

<form action="contact.php" class="contact_form" id="form" method="post">
                <div class="col-lg-6 col-md-6 col-lg-offset-3 col-md-offset-3">
                    <span class="input input_name">
                        <input class="input__field" type="text" name="name" id="name" required/>
                        <label class="input__label" for="name">
                        <span class="input__label_content">Name</span>
                        </label>
                    </span>
                    <span class="input input_website">
                        <input class="input__field" type="url" name="website" id="website" />
                        <label class="input__label" for="website">
                        <span class="input__label_content">Website</span>
                        </label>
                    </span>
                    <span class="input input_mail">
                        <input class="input__field" type="email" name="email" id="email" required/>
                        <label class="input__label" for="email">
                        <span class="input__label_content">email</span>
                        </label>
                    </span>
                </div>
                <div class="col-lg-8 col-md-8 col-lg-offset-2 col-md-offset-2">
                    <span class="textarea">
                        <textarea class="textarea_field" name="textarea" id="textarea" rows="4" placeholder="type your text here . . . ."></textarea>
                    </span>
                    <span class="submit">
                        <button type="submit" class="rms-btn submit_btn" id="submit">submit request <span><i class="fa fa-pencil"></i></span></button>
                    </span>
                </div>
            </form>
<?php
/*
* Ajax form submit
*/

# request sent using HTTP_X_REQUESTED_WITH
if( isset( $_SERVER['HTTP_X_REQUESTED_WITH'] ) ){
        if (isset($_POST['name']) AND isset($_POST['email'])  AND isset($_POST['textarea'])) {
                $to = 'info@antarescodestudio.com'; /* Add your contact email address here */

                $name = filter_var($_POST['name'], FILTER_SANITIZE_STRING);
                $email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);
                $subject = filter_var($_POST['subject'], FILTER_SANITIZE_STRING);
                $message = filter_var($_POST['textarea'], FILTER_SANITIZE_STRING);
                $sent = email($to, $email, $name, $message);
                if ($sent) {
                        echo 'Message sent!';
                } else {
                        echo 'Message couldn\'t sent!';
                }
        }
        else {
                echo 'All Fields are required';
        }
        return;
}

/**
 * email function
 *
 * @return bool | void
 **/
function email($to, $from_mail, $from_name, $subject, $message){
        $header = array();
        //$header[] = "MIME-Version: 1.0";
        $header[] = "From: {$from_name} < {$from_mail}>";
        $header[] = "Message: {$message}";
        /* Set message content type HTML*/
        /*$header[] = "Content-type:text/html; charset=iso-8859-1";*/
        /*$header[] = "Content-Transfer-Encoding: 7bit";*/
        if( mail($to, $message, implode("\r\n", $header)) ) return true;
}

?>

名称
网站
电子邮件
提交请求
contact.php:

<form action="contact.php" class="contact_form" id="form" method="post">
                <div class="col-lg-6 col-md-6 col-lg-offset-3 col-md-offset-3">
                    <span class="input input_name">
                        <input class="input__field" type="text" name="name" id="name" required/>
                        <label class="input__label" for="name">
                        <span class="input__label_content">Name</span>
                        </label>
                    </span>
                    <span class="input input_website">
                        <input class="input__field" type="url" name="website" id="website" />
                        <label class="input__label" for="website">
                        <span class="input__label_content">Website</span>
                        </label>
                    </span>
                    <span class="input input_mail">
                        <input class="input__field" type="email" name="email" id="email" required/>
                        <label class="input__label" for="email">
                        <span class="input__label_content">email</span>
                        </label>
                    </span>
                </div>
                <div class="col-lg-8 col-md-8 col-lg-offset-2 col-md-offset-2">
                    <span class="textarea">
                        <textarea class="textarea_field" name="textarea" id="textarea" rows="4" placeholder="type your text here . . . ."></textarea>
                    </span>
                    <span class="submit">
                        <button type="submit" class="rms-btn submit_btn" id="submit">submit request <span><i class="fa fa-pencil"></i></span></button>
                    </span>
                </div>
            </form>
<?php
/*
* Ajax form submit
*/

# request sent using HTTP_X_REQUESTED_WITH
if( isset( $_SERVER['HTTP_X_REQUESTED_WITH'] ) ){
        if (isset($_POST['name']) AND isset($_POST['email'])  AND isset($_POST['textarea'])) {
                $to = 'info@antarescodestudio.com'; /* Add your contact email address here */

                $name = filter_var($_POST['name'], FILTER_SANITIZE_STRING);
                $email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);
                $subject = filter_var($_POST['subject'], FILTER_SANITIZE_STRING);
                $message = filter_var($_POST['textarea'], FILTER_SANITIZE_STRING);
                $sent = email($to, $email, $name, $message);
                if ($sent) {
                        echo 'Message sent!';
                } else {
                        echo 'Message couldn\'t sent!';
                }
        }
        else {
                echo 'All Fields are required';
        }
        return;
}

/**
 * email function
 *
 * @return bool | void
 **/
function email($to, $from_mail, $from_name, $subject, $message){
        $header = array();
        //$header[] = "MIME-Version: 1.0";
        $header[] = "From: {$from_name} < {$from_mail}>";
        $header[] = "Message: {$message}";
        /* Set message content type HTML*/
        /*$header[] = "Content-type:text/html; charset=iso-8859-1";*/
        /*$header[] = "Content-Transfer-Encoding: 7bit";*/
        if( mail($to, $message, implode("\r\n", $header)) ) return true;
}

?>

contact.js

jQuery(document).ready(function() {
    var form = jQuery('#form'); // contact form
    var submit = jQuery('#submit'); // submit button
    var alert = jQuery('.alert'); // alert div for show alert message

    // form submit event
    form.on('submit', function(e) {
        e.preventDefault(); // prevent default form submit
        // sending ajax request through jQuery
        jQuery.ajax({
            url: 'contact.php', // form action url
            type: 'POST', // form submit method get/post
            dataType: 'html', // request type html/json/xml
            data: form.serialize(), // serialize form data 
            beforeSend: function() {
                alert.fadeOut();
                submit.html('Sending....'); // change submit button text
            },
            success: function(data) {
                alert.html(data).fadeIn(); // fade in response data
                form.trigger('reset'); // reset form
                submit.html('Email Sent <span> <i class="fa fa-check"></i> </span>'); // reset submit button text
            },
            error: function(e) {
                console.log(e)
            }
        });
    });
});
jQuery(文档).ready(函数(){
var form=jQuery('#form');//联系人表单
var submit=jQuery('#submit');//提交按钮
var alert=jQuery('.alert');//显示警报消息的警报div
//表格提交活动
表格(‘提交’)功能(e){
e、 preventDefault();//防止默认表单提交
//通过jQuery发送ajax请求
jQuery.ajax({
url:'contact.php',//表单操作url
键入:“POST”,//表单提交方法get/POST
数据类型:'html',//请求类型html/json/xml
数据:form.serialize(),//序列化表单数据
beforeSend:function(){
警惕。淡出();
submit.html('Sending…');//更改提交按钮文本
},
成功:功能(数据){
alert.html(data.fadeIn();//淡入响应数据
form.trigger('reset');//reset form
submit.html('Email Sent');//重置提交按钮文本
},
错误:函数(e){
控制台日志(e)
}
});
});
});
谢谢

更换

$message = filter_var($_POST['message'], FILTER_SANITIZE_STRING);

编辑:这一行也有问题:

$subject = filter_var($_POST['subject'], FILTER_SANITIZE_STRING);

没有名为
主题的字段

您的文本区域名为“textarea”,而在您的php文件中,您正在处理
$\u POST['message']
。将textarea的名称更改为“message”或
$\u POST['message']
更改为
$\u POST['textarea']

在您的表单上,我看起来textarea是names
textarea
,但您正在引用一个名为
message
的POST变量。我已经更新了contact.php表单,但仍然存在相同的问题。谢谢你的回答。我已经更新了contact.php表单,但是我仍然有同样的问题。谢谢回答。请检查邮件功能文档:
$subject
必须在
$message