css Base64外部电子邮件图像在Outlook桌面应用程序中显示为橙子轮廓

yquaqz18  于 2022-12-30  发布在  其他
关注(0)|答案(2)|浏览(510)

我想通过嵌入base64图像向用户发送电子邮件。从浏览器打开图像时,图像在outlook中正确呈现,并且outlook桌面应用程序以安全模式打开。但在桌面应用程序中查看时,图像相同(没有安全模式),有一个橙子的轮廓,added image here .我试过在<img><table><tr><td>标签中添加一些css,指定背景颜色,边框(无,0)使用重要,但似乎没有工作。任何建议将不胜感激。谢谢。HTML模板代码:

<!DOCTYPE html>
<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <title>Outlook 2007 Test</title>
      <style media="all" type="text/css"> img:not([src]) {visibility: hidden;} 
         .image-container{ color: #000 !important; text-shadow: none !important; background: transparent !important; box-shadow: none !important; z-index: 100000;width:200px;height:200px; border:0px !important; overflow:hidden; display:block;}
         .image-container img{ margin:-1px; padding:0px; display: block; line-height: 0px; font-size: 0px; border:0px !important;}
      </style>
   </head>
   <body>
         <table style="border-collapse: collapse;">
            <tbody>
               <tr style="border-collapse: collapse;&gt;&lt;td style=" border-collapse:="" collapse;="">
                  <span class="image-container">
                  <img width="100" height="100" align="top" src="data:image/png;base64...." alt="graphic">
                  </span>
               </tr>
            </tbody>
         </table>
   </body>
</html>
oaxa6hgo

oaxa6hgo1#

一些事情。
Outlook会阻止base64编码的图像。但是,实际上,如果您使用Outlook /safe,您可以解决这个问题。
苹果电子邮件客户端允许base64编码的图像。
另一种方法是通过附加文件来嵌入图像。
在此页面上,您可以找到包含所有场景的综合指南:
https://mailtrap.io/blog/embedding-images-in-html-email-have-the-rules-changed/
希望能有所帮助!

g52tjvyc

g52tjvyc2#

桌面版的Outlook不理解或呈现base64图像。如果你需要得到正确传递的图像,你需要将它们上传到任何Web服务器,并使用链接到Web服务器与这样的图像。但这不是理想的太,默认情况下,Outlook也可能会阻止外部图像。最好的解决方案是通过将图像附加到邮件项目来嵌入图像,然后使用CID属性从邮件正文中引用图像。
在Outlook中,您需要使用Attachment.PropertyAccessor.SetProperty方法设置PR_ATTACH_CONTENT_ID MAPI属性(DASL名称为“http://schemas.microsoft.com/mapi/proptag/0x3712001F“)。然后,您可以使用src属性引用此类附件,该属性与附件上设置的PR_ATTACH_CONTENT_ID值匹配。PR_ATTACH_CONTENT_ID属性对应于发送邮件时的Content-ID MIME标头。

attachment = MailItem.Attachments.Add("c:\test\Picture.jpg")
attachment.PropertyAccessor.SetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001F", "YourId")
MailItem.HTMLBody = "<html><body>Your image embedded is <img src=""cid:YourId""></body></html>"

相关问题