PHP错误导致mail()函数无法正常工作

PHP错误导致mail()函数无法正常工作,php,email,Php,Email,也许这对大多数人来说是显而易见的,但我没能找出错误所在;以下是发送电子邮件的简单HTML表单和PHP代码,包括发送邮件的主机(域): <?php $domainName = $_SERVER["SERVER_NAME"]; if (isset($_REQUEST['email'])) { $name = $_REQUEST['name'] ; $email = $_REQUEST['email'] ; $subject =

也许这对大多数人来说是显而易见的,但我没能找出错误所在;以下是发送电子邮件的简单HTML表单和PHP代码,包括发送邮件的主机(域):

<?php
    $domainName = $_SERVER["SERVER_NAME"];
    if (isset($_REQUEST['email'])) {
        $name = $_REQUEST['name'] ; 
        $email = $_REQUEST['email'] ;
        $subject = 'Hello :)' ;
        $message .= 'E-mail: '.$_REQUEST['email']."\n"."\n" ;
        $message .= 'Host: '.$_REQUEST['dname']."\n"."\n" ;
        $message .= 'Name: '.$_REQUEST['name']."\n"."\n" ;
        $message .= 'Price: '.$_REQUEST['price']."\n"."\n" ;
        $message .= 'Message: '.$_REQUEST['message'] ;
        $to = "mail@domain.com" ; //e-mail
        $header = "From:$name <$email>" ;
        mail($to, $subject, $message, $header );
    }
?>
<html>
    <head>
        <title><?php echo $domainName; ?></title>           
    </head>
    <body> 
        <form method="post" id="form" action="<?php echo $_SERVER['PHP_SELF']; ?>" >

            <label for="dname">Host</label>
            <input type="text" name="dname" id="dname" value=""/><!-- WORKS -->
            <!-- <input type="text" name="dname" id="dname" value="<?php echo $_SERVER['SERVER_NAME']; ?>"/> --> <!-- DOES NOT WORK -->

            <label for="name">Name</label>
            <input type="text" name="name" id="name" value=""/> 

            <label for="email">E-mail</label>
            <input type="text" name="email" id="email" value=""/>

            <label for="price">Price</label>
            <input type="text" name="price" id="price" value=""/>   

            <label for="message">Message</label>
            <textarea name="message" id="message"></textarea>

            <input type="submit" value="Send" name="submit" title="Send Message!" />

        </form>
    </body>
</html>


脚本没有导致mail()函数不起作用的PHP错误。问题是在使用“echo$\u SERVER['SERVER\u NAME']”时在邮件正文中包含URL(链接)


邮件发送时不会出现任何问题,但在邮件正文中包含链接将激活垃圾邮件过滤器,邮件将卡在垃圾邮件文件夹中。从邮件中删除链接(主机/域)后,电子邮件再次到达收件箱。这引起了混乱。

服务器['SERVER\u NAME']
包含什么?您所说的表单停止运行是什么意思?页面不呈现吗?你有错误吗?“提交”按钮不起作用吗?一切看起来都很好,没有错误,什么都看不见。$domainName在中可见,并且表单还在“dname”字段中显示域名。一切似乎都很好,但是邮件没有发送。没有生成错误日志。我也尝试过:问题在这里:value=“”,可能我没有得到关于如何在表单中包含$\u SERVER['SERVER\u NAME']的信息。我已经在注释内的代码中添加了非工作行。非常感谢。在不起作用的版本中,响应的值是什么?
<input type="text" name="dname" id="dname" value="<?php echo $_SERVER['SERVER_NAME']; ?>"/>