字符串" 1"在php mail()中添加

时间:2014-09-01 07:34:14

标签: php email

我正在使用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或者无论如何。

2 个答案:

答案 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