2017-10-15 114 views
1

我使用phpmailer發送電子郵件,我想爲自己的公司製作一個自定義徽標,問題在於徽標顯示爲附件,母豬我想知道如何將圖像嵌入到電子郵件中而不附加它們?謝謝如何發送帶有圖片背景的html電子郵件而不通過PHPMailer進行連接?

$mail->Subject = 'Here is the subbject'; 
$mail->AddEmbeddedImage('logo.png', 'logo'); 
$mail->Body = '<html><body>'; 
$mail->Body = '<img src="cid:logo" style="width:100%"></img>'; 
$mail->Body = '<h3>Bonjour</h3>'; 
$mail->Body .='</body></html>'; 

if(!$mail->send()) { 
    echo 'Message could not be sent.'; 
    echo 'Mailer Error: ' . $mail->ErrorInfo; 
} else { 
    echo 'Message has been sent'; 
} 
+1

沒有附上電子郵件?您將需要一個網絡服務器來託管圖像(您在電子郵件正文中使用html/css引用)。你有權訪問專門的網絡服務器嗎? – IncredibleHat

+0

謝謝,不,但我也試圖託管的形象:http://via.placeholder.com/350x150而不是logo.png,但我得到了附件中的標誌,通過我在本地主機im測試 –

回答

1

的電子郵件必須包含直接鏈接(不是相對鏈接)到圖像的身體和形象應該是一個JPG。例如:

<?php 
$body .= <<<EOD 
<a href='https://my-website.com'><img src='https://my-website.com/image.jpg' alt='logo'></img></a> 
EOD; 
?> 
+0

注意:並不必須是一個JPG。在今天的電子郵件程序中,可以是png甚至是gif,如果他們能夠處理html,他們會得到廣泛的支持。 – IncredibleHat

+1

完美謝謝它的工作原理 –

+1

Randall對於仍然廣泛使用的Outlook 2007來說並非如此。 JPG的渲染,但PNG的不會。人們必須假設其他程序也可能具有有限的功能,因此合併跨平臺解決方案是明智的。 – Steven

相關問題