繁体   English   中英

PHP的邮件功能不发送电子邮件

[英]PHP's mail function doesn't send email

因此,当我提交表单时,一切都很好地存储在数据库中,我收到了一封非常简单的电子邮件,其中基本上包含“嘿,谢谢,这是您的链接”之类的交易,我也收到了。 但是现在我已经升级为使用HTML正文,突然我没有收到电子邮件,为什么?

$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);

您上面的代码工作正常我检查像这样尝试检查$ username的值是电子邮件

我的例子

$to = 'rsharma@gmail.com';
$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设置是否正常

您的服务器可能是cAse-SEnSitive ...此外,还添加了From

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

请从$ to的末尾删除逗号“,”

它应该是$to = $username;

并确保$ username是电子邮件地址

您可以尝试用\\n而不是\\r\\n分隔标题吗?不要混用标题,并且不要在标题字符串的末尾包含一个。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM