我正在尝试使用php发送邮件。我已从SMTP端口和邮件中删除了注释,但Apache在第5行中抛出了未定义的变量$ header。这有什么不对?
<?php include "head.php";?>
<?php
$from= "smechailes@gmail.com";
$Headers = "";
$header .= "MIME-Version: 1.0 \r\n";
$header .= "Content-type: text/html; Charset= iso-859-1 \r\n";
$header .= "From: ".$from." \r\n";
$to = "setok321@gmail.com";
$subject = "test-mail";
$message ="<h1>hello</h1>";
$mail = mail($to, $subject, $message, $header);
echo (int)$mail;
?>
<?php include "foot.php";?>
答案 0 :(得分:2)
将$Headers = "";
替换为$header = "";
<强>解释强>
PHP变量区分大小写。
您已初始化变量$Headers
并假设它为$header
。
连接到$header
,这是未定义的。
将$Headers
更改为$header
OR
变化
在所有地方 $header
到$Headers
。
答案 1 :(得分:0)
使用.=
:
$header .= "MIME-Version: 1.0 \r\n";
相当于:
$header = $header . "MIME-Version: 1.0 \r\n";
含义$ header用作赋值的一部分,应该先存在。
答案 2 :(得分:0)
使用下面的代码,因为在第5行$ header没有定义你连接字符串
<?php include "head.php";?>
<?php
$from= "smechailes@gmail.com";
//$Headers = "";
$header = "MIME-Version: 1.0 \r\n";
$header .= "Content-type: text/html; Charset= iso-859-1 \r\n";
$header .= "From: ".$from." \r\n";
$to = "setok321@gmail.com";
$subject = "test-mail";
$message ="<h1>hello</h1>";
$mail = mail($to, $subject, $message, $header);
echo (int)$mail;
?>
<?php include "foot.php";?>