2016-07-09 18 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コードの一部を置きます。私は、相対的で絶対的なURLで試してみました。

<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

あなた*必須*プロトコルを含む、電子メールで絶対パスを使用します(http ://、https://)とドメイン名。それ以外の場合、電子メールクライアントはイメージを探す場所をどのように知っていますか? – 1sloc

+0

私はプロトコルの絶対URLを試してみました –

+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です。私はパスワードを使って開発者サーバーからurlを使用していました。私はそれらをpubblicサーバーにアップロードします。今はimgurオプションを使用します。大変ありがとうございました –

+0

助けていただければ回答として受け入れてください –

関連する問題