我正在使用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”。
在emailcontent.php中没有1或者无论如何。
答案 0 :(得分:3)
echo include('emailcontent.php');
删除echo
。那个回声将1
放在那里
你可能会问为什么当它没有被添加到任何地方时,echo将1放在那里?因为当您的文件成功包含时,该包含的返回值为TRUE,当您将其发送到echo
时,它会打印1
。尝试
echo 2==2; //1
答案 1 :(得分:3)
为什么你回复php页面?你必须包括像
这样的页面 include('emailcontent.php');
删除导致1的echo
。