我正在使用php的mail()函数发送一封电子邮件。我的代码如下:
$to = email@email.com;
$subject = "Subject of email";
ob_start();
echo include('emailcontent.php');
$message = ob_get_contents();
ob_end_clean();
$headers =
'From: Email <email@email.com>' . "'r'n" .
'Reply-To: Email <no-reply@email.com>' . "'r'n" .
"Content-type:text/html;charset=UTF-8" . "'r'n" .
"MIME-Version: 1.0" . "'r'n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
由于某种原因,字符串"1"被添加到消息的末尾。这种情况发生在include('emailcontent.php')中,因为如果我在include之后向消息添加另一个字符串,则在添加之前会添加"1"。
在电子邮件内容中,php不是1或任何东西。
echo include('emailcontent.php');
卸下echo
。那个回声把1
放在里
你可能会问,为什么echo在没有添加到任何位置的情况下却将1放在那里?因为当您的文件被成功包含时,包含的返回值为TRUE,当您将其发送到echo
时,它将打印1
。尝试
echo 2==2; //1
为什么要回显php页面?你必须包括这样的页面,
include('emailcontent.php');
移除导致1的echo
。