我有一个名为ajaxdb.php的脚本,它向用户发送了一封电子邮件,作为对其条目的确认。我将php版本更新为5.4以满足其他需求。但是现在这段代码没有为客户端返回有效的html。例如在GMX中我只显示纯文本。当我使用ob语句时,它会正确地显示外部模板,但是在我的脚本下而不是在邮件中。我在其他stackoverflow评论中尝试了很多,但到现在为止没有任何帮助我。
我查看了文档,并尝试使用ob_start(null, 0, PHP_OUTPUT_HANDLER_STDFLAGS ^ PHP_OUTPUT_HANDLER_REMOVABLE);
也许任何人都可以使用它,或者可以使用php和外部模板(正确填充变量)为确认邮件提供其他超薄解决方案。
$contents = file_get_contents('mailing.php', FILE_USE_INCLUDE_PATH);
//alternatively tried
#ob_start();
#include "mailing.php";
#$contents = ob_get_contents();
#ob_end_clean();
$absender = $who;
$antwortan = $sender;
$header = "MIME-Version: 1.0\r\n";
$header .= "Content-type: text/html; charset=UTF-8\r\n";
$header .= "From: $absender <$sender>\r\n";
$header .= "Reply-To: $antwortan\r\n";
// $header .= "Cc: $cc\r\n"; // falls an CC gesendet werden soll
$header .= "X-Mailer: PHP 5.3";
$betreff = "Vielen Dank ". $name .", du stehst auf der Gästeliste";
$betreff = "=?UTF-8?B?".base64_encode($betreff)."?=";
// send the email
mail ($mail, $betreff, $contents, $header);