电子邮件代码不起作用

时间:2014-04-10 10:25:47

标签: php email

我不确定我的电子邮件代码发生了什么,因为我正在与我能够在线查找的所有代码进行比较...当我使用localhost时,它的工作没有问题..并且它有txt文件出现在xampp中的mailoutput文件夹。

但是当我请求我的朋友帮助托管网络服务时...它不再适用于代码:(

下面是我的代码。 (从在线来源修改)

$subject = "Thanks for Registering." ;

$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers .= 'From : email' . "\r\n";

$message = "<html><body>
   <p> Thank you to register with Lecture Public Room Book Portal </p>
   <p> </p>
   <p> In order to activate your account please click the link below:</p>
   <p> <a href='link'>Verify Account</a> </p>
   <p></p>
   <p>Or you may go to the verification page using below link and paste in the verification code. Your verification code is $ver_code.</p>
   <p> <a href='link'> Verify page </a> </p>
   <p> </p>
   <p> Please do not reply to this email has the mailbox isn't monitored.</p>
   <p> </p>
   <p> </p>
   <p><center> - The Webmaster () - </center> </p>
   </body></html>";


if(mail($email, $subject, $message, $headers))
{
    $_SESSION['type'] = "User";
    echo ("<SCRIPT LANGUAGE='JavaScript'>
        window.alert('Successful register. Please check your email for activate account.')
        window.location.href='index.php?user=$username#verify-slide';
                </SCRIPT>");
    exit();
}
else
{
    echo ("<SCRIPT LANGUAGE='JavaScript'>
        window.alert('Please try again.')
        window.location.href='index.php?signup-slide';
        </SCRIPT>");
    exit();
} 
希望有人能帮助我:(

3 个答案:

答案 0 :(得分:0)

也许您的主机限制访问php邮件功能。给他发电子邮件。如果是这样,您可以使用Mandrill应用程序。

答案 1 :(得分:0)

如果它返回一些错误,请检查您的错误日志。

$headers .= 'From : email' . "\r\n";

将您的电子邮件放在电子邮件字段中(最好来自同一域电子邮件地址)

一些要点(假设mail()返回true并且错误日志中没有错误):

发件人地址(&#34;来自&#34;)是否属于您服务器上的域?如果没有,那就这样吧。 您的服务器是否在黑名单中(例如,检查spamhaus.org上的IP)?这是一个共享托管的远程可能性。

邮件是否通过垃圾邮件过滤器进行过滤?使用具有垃圾邮件文件夹的freemailer打开一个帐户并查找。此外,尝试将邮件发送到没有垃圾邮件过滤器的地址。 你可能需要第五个参数&#34; -f&#34; mail()添加发件人地址? (参见PHP手册中的mail()命令)

如果您有权访问日志文件,请按照上面的建议检查这些文件。

你检查&#34;来自:&#34;可能的退回邮件的地址(&#34;返回发件人&#34;)?您还可以设置单独的&#34;错误 - &#34;地址。

来自here

答案 2 :(得分:0)

在您当前的页面中,电子邮件收件人的设置不是这样的:

$subject = "Thanks for Registering." ;
$from = "admin@abc.com";
$email = "someone@gmail.com";
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers .= 'From :' . $from. "\r\n";