如何发送带有图片背景的html电子邮件而不通过PHPMailer进行连接?

问题描述:

我使用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测试 –

的电子邮件必须包含直接链接(不是相对链接)到图像的身体和形象应该是一个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