2012-02-15 138 views
0

我试图从PHP发送邮件,但它不工作。即使是最后一封电子邮件也没有空白邮件。建议吗?PHP邮件不发送邮件

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Smart Gardens Gravesend | Garden Maintenance</title> 
<link href="global.css" rel="stylesheet" type="text/css" /> 
    <link rel="stylesheet" media="all" type="text/css" href="menu_style.css" /> 
     <link rel="stylesheet" href="engine/css/vlightbox.css" type="text/css" /> 
     <style type="text/css">#vlightbox a#vlb{display:none}</style> 
     <link rel="stylesheet" href="engine/css/visuallightbox.css" type="text/css" media="screen" /> 
     <script src="engine/js/jquery.min.js" type="text/javascript"></script> 
</head> 
<body> 
<div id="wrapper"> 
<div id="logo2"><img src="images/logo_02.png" width="231" height="101" alt="logo" /></div> 
<div class="menu bubplastic horizontal lime"> 
    <ul> 
     <li><span class="menu_r"><a href="about.html"><span class="menu_ar">About Us</span></a></span></li> 
     <li class="highlight"><span class="menu_r"><a href="maintenance.html"><span class="menu_ar">Maintenance</span></a></span></li> 
     <li><span class="menu_r"><a href="landscaping.html"><span class="menu_ar">Landscaping</span></a></span></li> 
     <li><span class="menu_r"><a href="tree.html"><span class="menu_ar">Tree Work</span></a></span></li> 
     <li><span class="menu_r"><a href="fencing.html"><span class="menu_ar">Fencing</span></a></span></li> 
     <li><span class="menu_r"><a href="contact.php"><span class="menu_ar">Contact Us</a></span> 
     </div> 
<div id="content"> 
<form action="<? echo $_SERVER['PHP_SELF']; ?>" method="post"> 
<table border ="0"> 
<tr> 
    <td width="133">Name:</td><td width="252"><input type="text" size="42" name="name"/></td></tr> 
<tr> 
    <td>Email:</td><td><input type="text" name="email" size="42"/></td></tr> 
<tr><td>Message</td><td><textarea name="message" rows="5" cols="31"></textarea></td></tr> 
<tr><td></td><td><input type="submit" value="Submit"/></td></tr> 
</table> 
</form> 
<?php 
if(isset($_POST['name']) && isset($_POST['email']) && isset($_POST['message'])){ 
$name = $_REQUEST['name'] ; 
$email = $_REQUEST['email'] ; 
$message = $_REQUEST['message'] ; 
$headers = "X-Mailer: php"; 
mail("[email protected]", "Email from $name", 
$message, "From:" . $email, $headers); 
echo "Thanks, your email has been sent!"; 
} 
?> 
<br /> 
<br /> 
<div class="commentbox"> 
<h2>Caroline Roe, Old Road East, Gravesend</h2> 
<p>Smart Gardens have been maintaining our gardens for 4 years now. We are very happy with their personal, friendly and knowledgable service. Highly recommended.</p> 
</div> 
<div class="commentfooter"></div> 
<div class="commentbox"> 
<h2>Brian Colley, Darnley Road, Gravesend</h2> 
<p>The Smart Gardens Team have been caring for our gardens for a number of years . Their conscientious, reliable work demonstrates the strength of their professional knowledge and versatile ability.</p> 
<p>They have been able to make worthwhile, constructive suggestions which have led to the development and maturity of the rear garden particularly, in both the hard and soft landscape areas.</p> 
<p>Their helpful, friendly and trustworthy nature is second to none and we heartily recommend them for routine maintenance or major project development work.</p> 
</div> 
<div class="commentfooter"></div> 
<div class="commentbox"> 
<h2>Mrs Hathrill, Windmill Hill, Gravesend</h2> 
<p>I have regularly used the services of Smart Gardens for both Maintenance and Landscape projects.</p> 
<p>They are conscientious, hard working and always strive for perfection. They are also friendly and approachable. I would not hesitate to recommend them.</p> 
</div> 
<div class="commentfooter"></div> 
</div> 
</body> 
</html> 

同样的PHP代码已在其他邮件程序的工作,但不知道为什么这一个不工作:\感谢!

+0

你使用免费托管? – Cheery 2012-02-15 01:44:57

+0

是的,我怎么回事?不应该影响它,因为我在同一主机上托管其他邮件程序网站 – 2012-02-15 01:46:39

+1

免费托管通常会禁用传出连接和邮件功能以防止滥用。 – Cheery 2012-02-15 01:48:03

回答

2

您很可能在电子邮件服务器上遇到问题。

但是,下面的代码似乎不正确。

mail("[email protected]", "Email from $name", 
$message, "From:" . $email, $headers); 

尝试:

$headers = "From:" . $email . "\r\n"; 
$headers .= "X-Mailer: php\r\n"; 
mail("[email protected]", "Email from $name", 
$message, $headers); 

还要注意,设置“发件人”地址到一个不属于你的域名可能会导致该消息在某个时候被阻塞(无论是你的主机或收件人的垃圾邮件过滤器)。 您可能需要设置一个Reply-To:标题,并简单地使用From:作为属于您的服务器的电子邮件地址。