2013-02-01 169 views
1

所以当我提交我的表单时,一切都存储在数据库中就好了,我有一个非常简单的电子邮件,基本上包括'嘿谢谢,这是你的链接'的一种交易而我收到的很好。但现在我已经升级到使用HTML机构,突然间我没有收到电子邮件,为什么?PHP的邮件功能不会发送电子邮件

$to = $username; 
$subject = 'Thanks for Registering on Dota Pub Stars!'; 
$message = '<html> 
       <head> 
        <title>Registration Successful!</title> 
        <link rel="stylesheet" src="http://www.sithhappens.net/css/style.css" /> 
       </head> 
      <body class="bodybg"> 
       <div id="registrationform"> 
       <p class="success">Thanks for registering on Dota Pub Stars!</p> 
       <br /> 
       <br /> 
       <a class="button2" href="http://www.sithhappens.net/?key=' . $activation_key . '&amp;username=' . $username . '&amp;email=' . $email1 . '">Activate Account</a> 
       </div> 
      </body> 
      </html>'; 

$headers = "MIME-Version: 1.0 \r\n"; 
$headers .= "Content-type: text/html; charset=iso-8859-1\n"; 
$headers .= "From: $from\r\n"; 

mail($to, $subject, $message, $headers); 
+0

您是否使用这个确定在现场服务器上?本地服务器需要配合电子邮件服务器才能发送邮件。 – cbronson

+0

@cbronson是的我是,我只是不想释放链接,因为我还没有准备好让世界看到它:D – Gacnt

+0

你检查了你的垃圾邮件文件夹吗? – rlatief

回答

1

你上面的代码干活罚款我检查这样的尝试检查$ USERNAME值电子邮件

我的例子

$to = '[email protected]'; 
$subject = 'Thanks for Registering on Dota Pub Stars!'; 
$message = '<html> 
       <head> 
        <title>Registration Successful!</title> 
        <link rel="stylesheet" src="http://site...net/css/style.css" /> 
       </head> 
      <body class="bodybg"> 
       <div id="registrationform"> 
       <p class="success">Thanks for registering on Dota Pub Stars!</p> 
       <br /> 
       <br /> 
       <a class="button2" href="http://www.site...net/activateacc.php?key=345345&amp;username=435345&amp;email=34534534">Activate Account</a> 
       </div> 
      </body> 
      </html>'; 

    $headers = "MIME-Version: 1.0 \r\n"; 
    $headers .= "Content-type: text/html; charset=iso-8859-1\n"; 
    $headers .= "From: $from\r\n"; 

mail($to, $subject, $message, $headers); 

检查您的SMTP设置是

+0

非常感谢,至少你把它缩小到只是我的$用户名,我真的不知道该给谁回答,我想你可以拥有它:D谢谢,我会把这件事情搞清楚。在我提交之前,我知道自己做错了什么,我使用$ username而不是$ email1,你有过那些你认为的时刻,或许我应该在30分钟前上床睡觉?那么我只有一个。 – Gacnt

0

您的服务器可能是大小写敏感的...同时,从$末尾添加从

$headers="From: $from\r\n"; 
    $headers.="Content-Type: text/html;charset=iso-8859-1\n"; 
    mail($to, $subject, $message, $headers); 
+0

我做了你所说的,仍然没有,你可以看到我在原来的帖子中是如何使用它的。 – Gacnt

0

请删除后面的逗号“”以

它应该是$to = $username;

,并使其确保$用户名是电子邮件地址

+0

还没有:/。更新了我的原始帖子以显示当前。 – Gacnt

+0

尝试查看日志以检查服务器是否正在产生任何异常。可能是服务器本身的smtp存在问题。 –

0

灿您尝试使用\n而不是\r\n来分隔标题,不要混合使用标题字符串,也不要在标题字符串的末尾添加一个标题。