PHP电子邮件说它发送了,但当我打开收件箱时,没有消息


PHP Email says it sent, but when I open my inbox there is no message

我正在尝试用jquery、ajax和php创建一个联系我们表单。当我点击html中的按钮时,jquery和ajax向php发出请求,然后使用phpmail((函数发送电子邮件。但是,当我单击"发送"时,它会显示一切正常,ajax函数success函数会运行,提醒用户消息已发送。现在,当我进入收件箱时,我没有收到任何电子邮件。我在windows7,ecowebhost上运行这个。

这是html表单;

    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <script src = "js/callmail.js"></script>
</head>
<body ng-app = "">
            <div class = "container">
    <form name = "contact">
        <label for = "subject" class = "control-label">Subject:</label>
        <input name = "subject" id = "subject" ng-model = "subject" required/>
        <span class = "warning" ng-show="contact.subject.$touched && contact.subject.$invalid">You Must Enter a subject!</span>
        <span class = "success" ng-show="contact.subject.$touched && contact.subject.$valid">Valid!</span>
        <br/>
        <label for = "body" class = "control-label">Body:</label>
        <input name = "body" id = "body" ng-model = "body" required/>
        <span class = "warning" ng-show="contact.body.$touched && contact.body.$invalid">Your email must have a body!</span>
        <span class = "success" ng-show="contact.body.$touched && contact.body.$valid">Valid!</span>
        <br/>
        <label for = "signature" class = "control-label">Return Email:</label>
        <input name = "signature" id = "signature" ng-model = "signature" type = "email" required/>
        <span class = "warning" ng-show="contact.signature.$touched && contact.signature.$invalid">You must enter a valid return email!</span>
        <span class = "success" ng-show="contact.signature.$touched && contact.signature.$valid">Valid!</span>
        <br/>
        <button ng-disabled = "contact.$invalid" id = "sendmail" type = "submit" class = "btn btn-success">Submit</button>
    </form>

这是ajax和jquery:

$(function() {
$("#sendmail").click(function() {
    var data = {
        to: "tyler.psu.grim@gmail.com",
        subject: $("#signature").val() + ": " + $("#subject").val(),
        message: $("#body").val(),
    };
    $.ajax({
        type: "POST",
        url: "email.php",
        data: data,
        success: function() {
            alert("Message sent");
        }
    });
    console.log(data);
});
});

这是php代码:

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

        $subject = $_POST["subject"];
        $message = $_POST["body"];
        $headers = "Reply to: " . $_POST["signature"];
        mail("tyler.psu.grim@gmail.com", $subject, $message, $headers); 
    }
?>

每种语言都很陌生,所以我完全不知道该从这里走到哪里。

$(function() {
$("#sendmail").click(function() {
    var to = "tyler.psu.grim@gmail.com";
    var subject = $("#signature").val() +": " + $("#subject").val(); //?? WHERE IS SUBJECT INPUT????
    var message = $("#body").val(); 
    var signature = $("#signature").val();
    var data = {
        to: to,
        subject: subject,
        message: message,
        signature: signature
    };
    $.ajax({
        type: "POST",
        url: "email.php",
        data: data,
        success: function(msg) {
            console.log(msg);
        }
    });
    console.log(data);
    return false;
});
});

/////

if(isset($_POST["subject"])) {
    $subject = $_POST["subject"];
    $message = $_POST["body"];
    $headers = "Reply to: " . $_POST["signature"];
    if(!mail("tyler.psu.grim@gmail.com", $subject, $message, $headers)) {
        echo 'something is wrong';
    } else {
        echo 'nothing is wrong';
    }

}

您可能还需要检查垃圾邮件文件夹。您是从本地主机还是自己的网站发送?某些Web服务器软件(如examplep(不允许/执行?默认情况下,此邮件功能。