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