2016-07-09 4 views
0

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

Здесь я прилагаю мой PHP код:

$mail = new PHPMailer(true); 
$mail->CharSet = 'utf-8'; 
$mail->setFrom($this->Settings->SUPPORT_EMAIL_ADDRESS); 
$mail->AddAddress($email); 
$mail->Subject = dblang('registration_confirm_email_subject'); 
if (file_exists(APPPATH . '/views/email/registration/confirm.txt.' . $this->lang->lang() . '.php')) { 
    $mail->AltBody = $this->load->view('_email/registration/confirm.txt.' . $this->lang->lang() . '.php', 
     $emailData, true); 
} 

$mail->isHTML(true); 
$mail->Body = $this->load->view('_email/registration/confirm.html.' . $this->lang->lang() . '.php', 
    $emailData, true); 


if($mail->send()) { 
    swal_success('registration_email_send_title', 'registration_email_send_text'); 
    redirect(site_url('home')); 
} 

Здесь я помещал часть HTML кода. Я пробовал с относительным и абсолютным urlfor пути к картинке:

<img src="../../../../../../bets/assets/email/welovesports.png" alt="We Love Sports" border="0" width="290" height="92" 
    style="display: block;border: none;outline: none;text-decoration: none;-ms-interpolation-mode: bicubic;"> 
+2

You * * должны использовать абсолютные пути в электронной почте, в том числе протокола (HTTP : //, https: //) и имя домена. В противном случае, как клиент электронной почты узнает, где искать изображения? – 1sloc

+0

Я пробовал с абсолютным адресом также с протоколом –

+0

Ну, если '' не отображается в почтовом клиенте, он либо заблокирован почтовым клиентом, либо не существует на сервере. На самом деле, не так много других вариантов. – 1sloc

ответ

0

Поскольку вы пробовали абсолютные URL-адреса без везения.
глядя на свой ссылочный код ../../../../../../bets/assets/email/
Я предлагаю скопировать образ в самый корень public_html ->/public_html/welovesports.png
и затем ссылаться на него, как <img src="http://your-domain.test/welovesports.png"> , потому что нет. каталогов, которые предлагает ваш код, может затруднить ссылку на правильный путь


ИЛИ Альтернативно
вы можете использовать http://imgur.com/upload и разместить свое изображение с ними.
и на странице галереи этого образа скопировать его прямую ссылку, чтобы использовать его
(это будет как http://i.imgur.com/RDz0KBs.png)
например: http://i.imgur.com/RDz0KBs.png

+0

Да, абсолютный URL-адрес теперь wokring. Preoblem is taht Я использовал URL-адрес сервера разработчика с паролем. Я загружу их на свой публичный сервер. К этому моменту я буду использовать опцию imgur. Большое спасибо –

+0

, пожалуйста, принимайте как ответ, если это поможет –