php mail()函数不工作,已被卡住数小时

php mail()函数不工作,已被卡住数小时,php,html,email,Php,Html,Email,我似乎无法调试它,因为这是我第一次使用php。我最初有这个设置,它实际上工作,但我尝试添加一些单选按钮,它停止工作。我把单选按钮拿出来,试图回到原点,但现在我甚至连简单的表单都发不出来。我已经盯着它看了好几个小时了,你能帮我找出哪里出了问题吗。谢谢大家! <?php if($_POST["submit"]) { $recipient="testing@yahoo.com"; $subject="Business Sign-Up Request"; $senderN

我似乎无法调试它,因为这是我第一次使用php。我最初有这个设置,它实际上工作,但我尝试添加一些单选按钮,它停止工作。我把单选按钮拿出来,试图回到原点,但现在我甚至连简单的表单都发不出来。我已经盯着它看了好几个小时了,你能帮我找出哪里出了问题吗。谢谢大家!

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

    $recipient="testing@yahoo.com";
    $subject="Business Sign-Up Request";
    $senderName = $_POST["senderName"];
    $businessName = $_POST["businessName"];
    $phone = $_POST["phone"];
    $senderEmail = $_POST["senderEmail"];
    $website = $_POST["website"];
    $businessLicense = $_POST["businessLicense"];

    $mailbody = "Contact Name: $senderName\n\nBusiness Name: $businessName\n\nEmail: $senderEmail\n\nPhone: $phone\n\nBusiness License: $businessLicense\n\nWebsite: $website";

    mail($recipient, $subject, $mailbody);
    $thankYou="<p>Thank you! Your message has been sent.</p>";
}
?>

下面是php代码下面的HTML表单

<?=$thankYou ?>
<div id="TestModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="container">
                <div class="row">
                    <div class="col-12 float-right">
                        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                    </div>
                </div>
                <div class="row">
                    <div class="offset-2 col-8 text-center">
                        <h4 class="businessSignUp-title" id="myModalLabel">Business Sign-Up</h4>
                    </div>
                </div>
                <div class="row">
                    <div class="offset-1 col-10 text-center">
                        <h3>Please submit your information and we will contact you shortly!</h3>
                    </div>
                </div>
                <div class="row text-center"> 
                    <div class="col-12 text-center modal-body">
                        <form method="post" action="home.php" class="text-center">
                            <div>
                                <input class="w-100 py-1 px-2 businessSignUp-input mt-2" required name="senderName" placeholder="Name">
                            </div>
                            <div>
                                <input class="w-100 py-1 px-2 businessSignUp-input mt-2" required name="businessName" placeholder="Business Name">
                            </div>
                            <div>
                                <input class="w-100 py-1 px-2 businessSignUp-input mt-2" required name="phone" placeholder="Phone">
                            </div>
                            <div>
                                <input class="w-100 py-1 px-2 businessSignUp-input mt-2" required name="senderEmail" placeholder="Email Address">
                            </div>
                            <div>
                                <input class="w-100 py-1 px-2 businessSignUp-input mt-2" name="businessLicense" placeholder="Business License (optional)">
                            </div>
                            <div>
                                <input class="w-100 py-1 px-2 businessSignUp-input mt-2" name="website" placeholder="Website (optional)">
                            </div>
                            <input class="btn btn-primary mt-4" type="submit" name="submit">
                        </form>
                    </div>
                </div> 
            </div>
        </div>
    </div>
</div>

&时代;
商业注册
请提交您的信息,我们将很快与您联系!

是@Kamil007是正确的您需要主机并且主机必须能够发送电子邮件

使用下面的代码检查邮件功能是否成功

var_dump(mail($recipient, $subject, $mailbody));

首先尝试使用硬编码的值运行代码,看看邮件是否工作正常,即只运行php部分而不是html

<?php
    $recipient="testing@yahoo.com";
    $subject="Business Sign-Up Request";
    $mailbody="test message";
    var_dump(mail($recipient, $subject, $mailbody));
    // echo mail($recipient, $subject, $mailbody);
?>


我也一直在阅读有关启用SMTP的内容,但我不确定这是什么。你看过这个吗?你甚至可以尝试添加邮件标题这都是在线完成的,而不是在我的本地主机上。我以前让它工作过,这是令人沮丧的部分。让我试试那一行代码!谢谢,我刚刚做到了,但我怎么知道它成功与否呢?我仍然没有收到电子邮件。@josephT什么东西在DOM上印成了真的,假的?没有打印任何内容。我还注意到,点击提交按钮后,我的页面正在刷新。我知道这会使页面刷新,但如果我改为按钮,它会破坏我的代码。我想可能因为它很新鲜,所以我在DOM上没有看到任何东西尝试先用硬编码的值运行代码,看看邮件是否正常工作,即只有php部分而不是htmlI这样做并提交表单以调用该方法,但仍然没有。我还注意到,感谢信也没有弹出,所以我觉得它甚至没有到达邮件()function@josephT希望你现在可以调试和修复它。如果没有,我会在这里帮助你。请向上投票或接受回答我刚刚在我的服务器上检查了我的错误日志,发现:[2019年10月4日05:12:00 UTC]PHP解析错误:语法错误,第4行/home/buddyjan/public\u html/home.PHP中出现意外的“$recipient”(T_变量),好吧,最奇怪的事情发生了。我去掉了表单中的action=“home.php”,它成功了!我马上收到了电子邮件,但我不明白这是怎么回事。是因为它一直在重新加载页面,所以没有读取实际的方法吗?这太奇怪了,因为我以前有过,而且它还在工作,所以我不知道它为什么停止工作。但是现在,每次我重新加载页面,它都会发送相同的表单,甚至我都没有输入值。