使用PHPMailer发送php文件的内容(使用Jquery加载方法动态加载)

时间:2013-04-28 08:38:20

标签: php jquery phpmailer

这是我对这个社区的第一个问题。但是,我长期以来一直在使用它来解决任何技术问题,这是一个很好的帮助。

无论如何,我的问题是:

我使用以下方法从另一个PHP文件shopping_cart.php加载mail_contents.php div中的内容:

$("#mail_contents").load('shopping_cart.php #cart_contents');

当我在浏览器中直接打开mail_contents.php时,我也可以看到内容。

但问题是当我尝试使用以下代码在电子邮件中发送此php文件的内容时:

.....
$mailer = new PHPMailer();
$mailer->CharSet = 'utf-8';
$mailer->IsHTML(true); 

$mailer->AddAddress($this->UserEmail());

$mailer->Subject = "You have placed an order with ".$this->sitename;

$mailer->From = $this->GetFromAddress();

$mailer->FromName = "POR";   

ob_start();
include 'mail_contents.php';

$content = ob_get_clean();

$mailer->Body = $content;

if(!$mailer->Send()){
$this->HandleError("Failed sending user welcome email.");
return false;
}
return true;
....

我无法看到动态加载的内容。我使用echo语句在mail_contents.php文件中添加了一些静态代码,我发现它在我的电子邮件中成功显示。如果我做错了,请指导我。

感谢提前!!

1 个答案:

答案 0 :(得分:0)

试试这个:

ob_start();
   include 'mail_contents.php';
$content = ob_get_clean();

$mail->MsgHTML($content, dirname(__FILE__));

告诉我,这是否有效。