2014-04-29 3 views
0

Я нахожусь в шаблоне электронной почты, в котором шаблон электронной почты будет основан на динамике. Поэтому я делаю шаблон PHP-файлом и включаю содержимое с использованием функции INCLUDE в PHP. Электронная почта проходит, но я получаю 1 в своем письме.PHPMailer включает PHP-шаблон возвращает 1 по электронной почте

PHP

ob_start(); 
$preview_contents = include(get_template_directory() . '/framework/newsletters/includes/preview.php'); 
$content = ob_get_contents(); 
ob_end_clean(); 

PHPMailer

$mail = new PHPMailer(); 
    $mail->IsSMTP(); 
    $mail->IsHTML(true); 
    $mail->SMTPAuth = true; 
    $mail->Host  = $host; 
    $mail->Username = $username; 
    $mail->Password = $pass; 
    $mail->SetFrom("[email protected]", "Pacific xx"); 
    $mail->AddAddress($subscribers_preview_email); 
    $mail->Subject = $subscribers_subject; 
    $mail->MsgHTML($preview_contents); 
    if($mail->Send()){ 
     die("1 | An preview email has been sent to you."); 
    } else { 
     die("0 | There was an error, please try again later."); 
    } 

ответ

1

Вы должны изменить эту часть кода

$mail->MsgHTML($preview_contents); 

посмотреть, как это

$mail->MsgHTML($content); 

Я думаю, что будет работать для вас

+0

Но все глобальные переменные WordPress, как «site_url()» не работает внутри PHP скрипт. –

+0

Извините, я ничего не знаю о wordpress. Существуют другие регулярные php-переменные и функции, выполняемые в скрипте. Если это так, казалось бы, вы не инициализировали специальные словары Wordpress – Jacob

Смежные вопросы