没有从PHP mail()方法接收电子邮件

jh_*_*jh_ 5 php email

我尝试设置email.html和action.php,以便有人可以从网站发送电子邮件.这是email.html中的代码

<form action="./action.php" method="post">
    <p>Your Name</p>
    <p><input type="text" name="name" /></p>
    <p>Email</p>
    <p><input type="text" name="email" /></p>
    <p>Services</p>
    <p><input type="text" name="service" /></p>
    <p>Requests</p>
    <p><textarea rows="8" cols="32" name="comment"></textarea></p>
    <p><input type="submit" value="Send" /></p>
</form>
Run Code Online (Sandbox Code Playgroud)

在action.php我有

<?php
    $to = "foo@outlook.com";
    $subject = "Test mail";
    $message = "Hello! This is a simple email message.";
    $from = "foo2@gmail.com";
    $headers = "From:" . $from;
    mail($to,$subject,$message,$headers);
    echo "Mail Sent.";
?>
Run Code Online (Sandbox Code Playgroud)

在email.html中输入的信息成功加载到action.php中,但我的Outlook收件箱中没有从电子邮件方法收到任何内容.我错过了什么吗?

qui*_*int 6

首先检查返回值,mail以查看SMTP服务器是否接受该消息.

另外,根据Namecheap的文档,您的发件人地址无效.

只有我们服务器上托管的域才能在"发件人"字段中使用.任何未托管我们的域都无法添加到"发件人"字段中.我们必须采取此措施来防止使用论坛,留言簿和联系表单脚本发送垃圾邮件.为使您的网站脚本正常工作,您应将"发件人"字段设置为已在cPanel中创建的电子邮件帐户.

即使您的托管公司允许这样做,您也不应该使用非Gmail服务器从@ gmail.com发送邮件.它通常会接收端的SPF和其他此类反垃圾邮件措施阻止.