2014-02-05 4 views
1

Я использую библиотеку PHPMailer в CodeIgniter для отправки HTML писем,
В этой библиотеке, мне нужно, чтобы загрузить содержимое, а затем передать его в какой-то функции,CodeIgniter HTML электронной почты отсутствуют изображения

Я считаю, только это ниже метод вид нагрузки из представлений в библиотеке как строка для назначения электронной почты «тела», как,

function send_mail($data=array()) { 
    $mail = new PHPMailer(true); 
    $this->CI =& get_instance(); 
    $body = $this->CI->load->view('partials/email_template', $data, true); 
    //setting third parameter to true will convert view to string, 
} 

электронной почты быть отправки правильно, но когда без изображений, его только потому, что строка не может содержит изображения, если IAM не так, есть ли альтернативный способ достижения этого.

EDIT

Самостоятельно рамки, я загрузки содержимого, как,

$body = file_get_contents('email_template.html'); 

Но это не работает в рамки, как,

$body = file_get_contents($this->CI->load->view('partials/email_template', $data)); 
//even setting the third parameter 'true' 

и возвращает меня Ошибка «Пустое сообщение».

Большое спасибо заранее.

+0

вы можете показать свое содержание электронной почты? Может быть, проблемы с пути –

+0

нет проблемы с пути, как я уже упоминал ниже, iam обновляет мой вопрос через некоторое время. –

+0

вы имеете в виду, что file_get_contents не получает контент для файла просмотра CI? –

ответ

0

Поскольку электронная почта находится в режиме онлайн, она не может использовать только относительные URL-адреса и должна быть абсолютной, например (http://website.co.uk/partials/email_template/image.png).

Это связано с тем, что клиент, получающий электронную почту, явно не имеет локальных файлов на своем компьютере (или очень сомнительно).

+0

все в порядке, я проверяю эту функцию независимо от фреймворка, все изображения хорошо загружаются в моем почтовом ящике. –

0
$body = $this->CI->load->view('partials/email_template', $data,true); 

Это присвоит вид файла cotent к вам переменную $body

+0

как я уже упоминал в своем вопросе перед редактированием, что если я установил третий параметр в true и код, на который вы ответили, он отправляет электронное письмо без изображений, просто потому, что установка третьего параметра в TRUE конвертирует содержимое в строку и пропускает изображения. –

+0

Вы задали тип контента в заголовке электронной почты? –

+0

Да, как он может отправить остальные html? –

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