2

我正在尝试使用 phpmailer 发送确认电子邮件,但遇到了问题。邮件的内容位于名为 page_mail.php 的页面中,我正在使用 php mailer 发送此内容,但是当我收到电子邮件时,它返回“1”。

你们中的一个可以帮助我吗?

这是我的代码

$req = mysql_query("SELECT * FROM users WHERE email='test@test.com'") or die(mysql_error());
$info = mysql_fetch_array($req);

$body = include('page_mail.php');
    echo $body;

$mail = new PHPMailer();
$mail->IsSendmail();
$mail->AddAddress("test@test.com");
$mail->Subject = "MAIL TEST";
$mail->MsgHTML($body);
$mail->AltBody = "Ce message est au format HTML, votre messagerie n'accepte pas ce format.";
$mail->Send();

ini_get('sendmail_path');
4

1 回答 1

1

您应该使用一些输出缓冲技术而不是$body = include('page_mail.php');. 请参阅官方文档中的示例:

$string = get_include_contents('somefile.php');

其中get_include_contents()定义如下:

function get_include_contents($filename) {
    if (is_file($filename)) {
        ob_start();
        include $filename;
        return ob_get_clean();
    }
    return false;
}

编辑:

如果您打算使用page_mail.php在主 PHP 文件中定义的一些全局变量,那么我建议使用此解决方案:https ://stackoverflow.com/a/10144260/925196 。

于 2014-05-23T08:05:50.943 回答