2013-05-03 78 views
2

我使用包含图像的PHP发送电子邮件。我知道生成的HTML是有效的,因为它显示正确的HTML预览工具。Outlook不显示有效的嵌入图像

在Outlook 2013中,我所看到的只是小红十字。我甚至没有安全警告。

<html><head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
     </head> 
    <body id="mimemail-body" class="mimemail-Testing"> 
    <div id="center"> 
     <div id="main"> 
     <p>Start</p> 
<p><img alt="Red dot" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="></p> 
<p>End</p> 
<p>s</p> 
     </div> 
    </div> 
    </body> 
</html> 

在Outlook中是否有设置需要调整?

我已经与不同的图像测试,但我在研究如何进一步调试这一损失....

+0

你是如何创建和发送电子邮件? – 2013-05-03 00:23:54

+0

我在Drupal中使用Mime Mail。它将IMG标签转换为内容附件,但图像没有出现,所以我尝试发送硬编码嵌入图像,只是为了看看是否有效。 – Kye 2013-05-03 01:16:43

回答

2

Outlook使用Word来显示HTML和Word不支持嵌入式二进制图像。

您需要将图像作为常规附件添加,设置其Content-ID MIME头,然后通过src属性在HTML中引用该图像:src = cid:xyz,其中“xyz”是Content-ID MIME头。

+0

啊。这使事情变得更加清晰。谢谢,我已经尝试了这种方法。 – Kye 2013-05-03 01:14:56