会社でメールを全社に送るサービスがあるのですが、画像が表示されなくて困ることがありました。
画像のエンコードが必要ということが分かり、手順を以下の通りまとめています。ぜひご活用くださいませ。
1.メール本文を作成する
まず、HTMLのメール本文を作成します。
私の会社では、メール本文をあらかじめ作成して、HTML化することができますが、HTMLにできない場合は、以下のサンプルを参考にしていただくか、他サイトでテキストをHTML化するサービスを用いても良いでしょう。
<!DOCTYPE html> <html> <head></head> <body> <p style="margin-left: 52.5pt; text-indent: -52.5pt; line-height: 14.4pt; font-size: 10.5pt; font-family: 'Meiryo UI'; color: black;">< <span lang="EN-US">Summary</span>>サーベイを開始します。 </p> <p style="margin-left: 52.5pt; text-indent: -52.5pt; line-height: 14.4pt; font-size: 10.5pt; font-family: 'Meiryo UI'; color: black;"> <span lang="EN-US">To:全社員</span> </p> <p> <img src="https://jinjineer.net/image001.png" width="462" height="133" /> </p> <p style="margin-bottom: 12.0pt; line-height: 14.4pt; font-size: 10.5pt; font-family: 'Meiryo UI'; color: black;"> <span lang="EN-US">エンゲージメント サーベイ開始に先立ち、実施概要の事前案内を発信いたします。</span> <br />以下、ご一読の上、ご回答をよろしくお願いいたします。 <br /> <br />------------------------------------------------------------------------------------------------------------ </p> <p style="margin-left: 52.5pt; text-indent: -52.5pt; line-height: 14.4pt; font-size: 10.5pt; font-family: 'Meiryo UI'; color: black;">◆対象者:全社員(派遣・常駐・請負・休職者を除く)</p> <p style="margin-left: 52.5pt; text-indent: -52.5pt; line-height: 14.4pt; font-size: 10.5pt; font-family: 'Meiryo UI'; color: black;">◆期間:9月1日~30日(水)23:59</p> <p style="line-height: 14.4pt; font-size: 10.5pt; font-family: 'Meiryo UI'; color: black;">◆所要時間:15分-25分程度</p> <p style="line-height: 14.4pt; font-size: 10.5pt; font-family: 'Meiryo UI'; color: black;">◆その他留意点 <br />①情報取扱い: <br />プライバシー保護のため、個人の回答結果は本社事務局のみがサーベイ運用のために保有いたします。 </p> <p style="text-indent: -10.5pt; line-height: 14.4pt; margin: 5.0pt 0mm 12.0pt 10.5pt; font-size: 10.5pt; font-family: 'Meiryo UI'; color: black;">②サーベイに関する情報 <br />HR Webサイト「<a href="https://jinjineer.net/">エンゲージメントサーベイ 特設サイト</a>」をご確認ください。 </p> <p style="line-height: 14.4pt; font-size: 10.5pt; font-family: 'Meiryo UI'; color: black;">【文書責任者】 人事部 統括部長 <br />【問い合わせ先】人事部 人材開発課( <a href="mailto:jinjineer@gmail.com">jinjineer@gmail.com</a>) </p> </body> </html>
ポイントは、上記<img src=”https://jinjineer.net/image001.png” width=”462″ height=”133″ />の部分です。この.pngのファイル部分を参照することができないので、このファイルをエンコードして参照できるようにしていきます。
2.表示したい画像ファイルをエンコードする
上記の例でいうと、image001.pngファイルを以下にUploadして、Base64へ変換というボタンをクリックします。下部に変換された<img>タグが表示されますので、こちらをコピーしてください。
3.元のHTMLのimgタグを修正する
2.を実行すると、以下のように長ったらしい文字列が表示されます。これを全部コピーします。
1.のHTMLの内、以下の<img>タグ部分を置き換えます。
<img src="https://jinjineer.net/image001.png" width="462" height="133" />
↓置き換え後
<img decoding="async" src="data:image/png;base64,/9j/4AAQSkZJRg ~長すぎるので途中省略~ oA//9k=" />
これでプレビューなどしてみると、画像が表示されるようになります。ご利用くださいませ。