Php 如果没有收到电子邮件,如何解决这种情况?

Php 如果没有收到电子邮件,如何解决这种情况?,php,html,Php,Html,我用php、html和css编写了一个代码。这是一个在提交后通过电子邮件接收的联系表单。提交时没有错误,但我没有收到电子邮件。我在这里包括代码。这是链接:。 我还在这里输入代码 contact.php <?php if(isset($_POST['submit'])){ $name = $_POST['fullname']; $branch = $_POST['branch']; $usn = $_POST['usn']; $sem = $_POST['se

我用php、html和css编写了一个代码。这是一个在提交后通过电子邮件接收的联系表单。提交时没有错误,但我没有收到电子邮件。我在这里包括代码。这是链接:。 我还在这里输入代码

contact.php

<?php
if(isset($_POST['submit'])){
    $name = $_POST['fullname'];
    $branch = $_POST['branch'];
    $usn = $_POST['usn'];
    $sem = $_POST['sem'];
    $email = $_POST['email'];
    $subject = $_POST['subject'];
    $description = $_POST['comment'];

    $to = 'email@example.com';

    $display = 'From:</br>Name: $name</br>USN: $usn</br>Branch: $branch</br>Semester: $sem</br>Email: $email</br></br>$description';
    mail($to,$subject,$display);
    echo "<script>alert('Your Complaint has been succesfully submitted, We will contact you soon.')</script>";
};

?>
试试这个:

$to_address = "Your email address";
$subject = $_POST['subject'];
$headers = "MIME-Version: 1.0\r\n";
$headers.= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers.= "From: ".$email."\r\n";

if (mail($to_address,$subject,$description,$headers)){
    echo "Success";
}
else{
    echo "<h2>Unable to submit the form, please recheck the details.</h2>" ;
 }
$to_address=“您的电子邮件地址”;
$subject=$_POST['subject'];
$headers=“MIME版本:1.0\r\n”;
$headers.=“内容类型:text/html;字符集=iso-8859-1\r\n”;
$headers.=”发件人:“.$email.\r\n”;
if(邮件($to_address、$subject、$description、$headers)){
呼应“成功”;
}
否则{
echo“无法提交表单,请重新检查详细信息。”;
}

更新:如果这不起作用,那么您的电子邮件配置可能会出错。正如其他用户在上面的评论中所建议的,您可能也希望了解这一部分。这个答案基于您的电子邮件服务器/PHP配置正确的假设。

似乎是一个不错的设计。投诉直接进入黑洞。
“我没有收到电子邮件”
-邮件服务器和您的收件箱之间可能存在任何数量的问题。服务器是否主动拒绝该消息?它会默默地忽略消息吗?它是否无法将邮件转发到您的邮件服务器?您的邮件服务器是否过滤邮件?您的电子邮件客户端是否过滤邮件?很多事情都会阻止你在收件箱中看到电子邮件,其中很少有事情与你的代码有关。调试时,SMTP服务器的响应是什么?检查传出服务器上的邮件日志以查看是否已发送,然后检查传入服务器上的邮件日志以查看是否已收到。其中一个会告诉你发生了什么。如果您确实检查了mail命令的返回值以查看它是否有效,那么它也可能会有所帮助!避免在问题中提供个人信息关闭大括号后删除分号还是输入错误?错误消息有点含糊不清,因为根据表单字段,它不太可能失败,但如果它像mail一样返回成功/失败值,则应该始终检查它。