26

Base 64 データ URL でエンコードされた画像を使用して、HTML で署名しようとしています。次に例を示します。

<img src="data:image/png;base64,iVBORw0KGgoAAAAN...kJggg==">

Mail on Mac や Thunderbird などのメール ソフトウェアでは問題なく動作しますが、gmail、outlook、roundcube、hotmail などの Web メールでは動作しません ...

それを機能させる方法はありますか?これらの画像をソースコードに直接入れたいのですが、より実用的です。

4

2 に答える 2

26

簡単な答え?

できません。Gmail、Outlook などは base64 イメージを無視します。

詳しくはこちらのサイトをご覧ください

ここに画像の説明を入力

したがって、私たちの結果に基づくと、メールに埋め込み画像を使用する価値がないことは明らかです。あなたがしていることは、見ることができないエンコードされた画像を人々にダウンロードさせることだけです.

于 2012-10-24T14:18:00.390 に答える
2

埋め込み SVG を使用しています。理由は次のとおりです。

  • 見栄えがします (ベクター グラフィックはロゴに適しています)。
  • 添付ファイルなし (いわゆる非表示の電子メール添付ファイルとして送信された画像でさえ、多くの電子メール クライアントでそのまま表示されます)。
  • 追加の http 要求はありません (一度ダウンロードすると、オフラインで動作します)。
  • 「画像をロードしますか..」という質問はありません。
  • Gmail と Outlook に表示されなくても問題ありません。それは一種の優雅な劣化です。

しかし、どうしても Gmail や Outlook で画像を表示したい場合は、これらを HTTP 経由で読み込む必要があります。

CSS-tricks の担当者は、メールで SVG に関する優れたガイドを提供しています: https://css-tricks.com/a-guide-on-svg-support-in-email/

最終的な解決策は次のとおりです。

/* 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">

しかし、私は個人的には好きではありません。なぜなら、クライアントがユーザーに追加のリソースをロードしたいかどうか尋ねたくないからです。

于 2016-09-17T21:41:50.833 に答える