PHP电子邮件显示错误

时间:2013-06-12 10:27:33

标签: php email

请有人推荐此代码并为我更正。 我在其他正在运行的网页中使用了此代码,但现在这个脚本没有发送消息,它显示我的自定义错误消息。

请问任何人帮我找到问题

谢谢

   <?php

        /* for admin */
        $registration_subject="Live demo registration";
        $registration_office="info@xxx.com";

        /* REGISTER details */

        $bizname = $_POST['txtbizname'];
        $biztype = $_POST['cbobiztype'];
        $address = $_POST['TxtAddress'];
        $city = $_POST['TxtCity'];
        $country = $_POST['cboCountry'];
        $tel = $_POST['TxtTel'];
        $fax = $_POST['TxtFax'];
        $email = $_POST['TxtEmail'];
        $web = $_POST['TxtWeb'];    
        $title = $_POST['Cbotitle'];
        $contname = $_POST['txtcontname'];
        $designation = $_POST['TxtDesignation'];
        $mob = $_POST['TxtMob'];
        $contemail = $_POST['TxtcontEmail'];
        $callbiztime = $_POST['BizGMT'];


        $body = <<<EOD
    Business Name : $bizname <br>
    Business Type : $biztype <br>
    Address : $address <br>
    City : $city <br>
    Country : $country <br>
    Tel : $tel <br>
    Fax : $fax <br>
    Email : $email <br>
    Web : $web <br>
    Title : $title <br>
    Contact Person Name : $contname <br>
    Designation : $designation <br>
    Mobile : $mob <br>
    Email : $contemail <br>
    Call Me at : $callbiztime <br>

    EOD;


        $headers = "From : $email\r\n";
        $headers = "Content-type:text/html\r\n";
        $mail_status = mail($registration_office, $registration_subject, $body, $headers);

    if ($mail_status) { ?>
        <script language="javascript" type="text/javascript">
            alert('Thank you for the message. We will contact you shortly.');
            window.location = 'b2b.html';
        </script>
    <?php
    }
    else { ?>
        <script language="javascript" type="text/javascript">
            alert('Message failed. Please, send an email to info@xxx.com');
            windowwindow.location = 'b2b.html';
        </script>
    <?php
    }
    ?>

3 个答案:

答案 0 :(得分:1)

你有:

$headers = "From : $email\r\n";
$headers = "Content-type:text/html\r\n";

您需要将第二行连接到第一行:

$headers  = "From : $email\r\n";
$headers .= "Content-type:text/html\r\n";

请参阅http://php.net/manual/en/function.mail.php - 您需要指定一个“发件人”地址,因为您目前正在将其替换为“内容类型”行,因此会丢失该地址。

答案 1 :(得分:0)

尝试在脚本的顶部设置error_reporting(E_ALL) ,并检查页面或错误日志中的任何错误。如果您仍有问题,请发布您收到的错误。

答案 2 :(得分:0)

评论您的代码,并尝试使用一些硬编码值来检查邮件通常是否有效:

mail("test@test.com", "My Subject", "blablabla");

如果它不起作用,则表明您的邮件服务器存在问题