Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么这个PHP脚本无法发送HTML邮件?_Php_Html_Email - Fatal编程技术网

为什么这个PHP脚本无法发送HTML邮件?

为什么这个PHP脚本无法发送HTML邮件?,php,html,email,Php,Html,Email,我有这段测试代码来发送HTML电子邮件。在最长的时间里,它一直在发送,但没有以HTML格式发送。现在,它一点也不发送 我一直在和上的代码进行比较,我看不出任何地方的代码可能是错误的。这快把我逼疯了 为什么这段代码不发送,为什么它不以HTML格式发送 $to = "myemail@mysite.com"; $subject = "Confirmation code for registration"; $message = "<html> <head>"; $mess

我有这段测试代码来发送HTML电子邮件。在最长的时间里,它一直在发送,但没有以HTML格式发送。现在,它一点也不发送

我一直在和上的代码进行比较,我看不出任何地方的代码可能是错误的。这快把我逼疯了

为什么这段代码不发送,为什么它不以HTML格式发送

$to = "myemail@mysite.com";
$subject = "Confirmation code for registration";

$message = "<html>
  <head>";
$message .= '<meta http-equiv="content-type" content="text/html; charset=utf-8" />';
$message .= "<title>TITLE</title>
  </head>
  <body>";
$message .= "Thank you for registering! \r\n";
$message .= "
    </body>
</html>";

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset: utf-8\r\n";
$headers .= "From: My Site <registration@mysite.com>r\n";

$mailresult = mail($to, $subject, $message, $headers);
    echo "mail sent! ";
    echo $mailresult;
$to=”myemail@mysite.com";
$subject=“注册确认码”;
$message=”
";
$message.='';
$message.=“标题”
";
$message.=“感谢您的注册!\r\n”;
$message.=”
";
$headers=“MIME版本:1.0\r\n”;
$headers.=“内容类型:text/html;字符集:utf-8\r\n”;
$headers.=“发件人:我的站点r\n”;
$mailresult=mail($to,$subject,$message,$headers);
回音“邮件已发送!”;
echo$mailsult;
$mailresult
返回为
1
,我认为这意味着成功,但在指定的邮件帐户中没有收到邮件。

尝试执行此操作

mail($to, $subject, $message, $headers);
如果没有$mailresult,请尝试执行以下操作

mail($to, $subject, $message, $headers);
没有$mailresult

根据:

如果邮件已成功接受传递,则返回TRUE,否则返回FALSE

重要的是要注意,仅仅因为邮件被接受交付,并不意味着邮件将实际到达预定目的地

您是否已配置邮件服务器以发送邮件?

根据:

如果邮件已成功接受传递,则返回TRUE,否则返回FALSE

重要的是要注意,仅仅因为邮件被接受交付,并不意味着邮件将实际到达预定目的地



您是否配置了邮件服务器来发送邮件?

您的代码在我的服务器上运行得很好,但我收到的邮件是垃圾邮件,请检查您的垃圾邮件。并进行调查,检查您的服务器是否配置正确。

您的代码在我的服务器上运行得非常好,但我收到的电子邮件是垃圾邮件,请检查您的垃圾邮件。并进行研究,以检查服务器是否配置正确。

是否检查了垃圾邮件文件夹?我建议使用诸如PHPMailer之类的邮件库,而不是使用PHP
mail()
函数。它具有集成的调试功能和更简单的界面。如果它不在您的垃圾邮件/垃圾邮件文件夹中,可能是您的SMTP有问题,但不一定是您的CodephpMail还可以通过SMTP(如gMail)轻松发送电子邮件。这很有价值,因为很难判断是由于代码错误还是服务器邮件设置导致邮件无法发送。@BenM:是的,似乎根本无法发送。不过,问题是,我收到的邮件很好,只是在测试HTML问题,在某个时候我停止了接收邮件。你检查过你的垃圾邮件文件夹吗?我建议使用诸如PHPMailer之类的邮件库,而不是PHP
mail()
函数。它具有集成的调试功能和更简单的界面。如果它不在您的垃圾邮件/垃圾邮件文件夹中,可能是您的SMTP有问题,但不一定是您的CodephpMail还可以通过SMTP(如gMail)轻松发送电子邮件。这很有价值,因为很难判断是由于代码错误还是服务器邮件设置导致邮件无法发送。@BenM:是的,似乎根本无法发送。不过,问题是,我收到的邮件很好,只是在测试HTML问题,在某个时候我停止了接收邮件。
$mailresult
将只是一个表示邮件成功或失败的布尔值。它对电子邮件的发送没有影响。
$mailresult
将只是一个表示邮件成功或失败的布尔值。它对电子邮件的发送没有影响。被授予绿色支票,因为它指出,仅仅因为PHP说邮件已发送,就意味着它已将其传递到邮件服务器,但这并不是说邮件是通过邮件服务器处理的。我很高兴我以某种方式帮助了您:)获得了绿色支票,因为我指出,仅仅因为PHP说邮件已发送,就意味着它已将其传递到邮件服务器,而不是邮件是通过邮件服务器处理的。我很高兴我以某种方式帮助了您:)