How to successfully embed images in HTML for display in webmail clients?

Deadly 提交于 2019-11-27 14:58:24

simple answer?

You can't. Gmail, outlook etc will ignore base64 images.

Look at this site to learn more about this

So based on our results, it is clearly not worth using embedded images in your emails. All you will be doing is forcing people to download encoded images that they will not be able to view.

borisdiakur

I’m using embedded SVG, here is why:

  • It looks nice (vector graphics work well for logos).
  • No attachment (even images mailed as so called hidden email attachments are visible as such in many email clients).
  • No additional http request (works offline, once downloaded).
  • No “Do you want to load the images..” question.
  • It’s ok for me, if it doesn’t display in Gmail and Outlook. It’s kind of graceful degradation.

But if you really want to display images in Gmail and Outlook, you will need to load these via HTTP.

The guy from CSS-tricks has a nice guide on SVG in email: https://css-tricks.com/a-guide-on-svg-support-in-email/

The final solution is the following:

/* Resize an element that has a width and height of zero to full size */
.showy {
  height: 100% !important;
  width: 100% !important;
}
<!-- Image: SVG -->
<img class="showy" width="0" height="0" src="my-image.svg">
<!-- Image: JPG -->
<img class="no-showy" src="my-image.jpg">

But I personally don’t like it, because I don’t want a client to ask the user if he wants to load additional resources.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!