HTMLメールとは、メールの本文に、Webページ(ホームページ)作成などで使われる、「HTML」というマークアップ言語を使用したメールのことです。
Webページと同じように、文字の装飾を行ったり、画像を使ったりすることが出来、見栄えの良いメールを作成することが出来ます。
最近、ビジュアルが大切な企業のプロモーションメールなどで使われることが増えてきました。
ここでは、HTMLメールの仕組みを簡単に説明します。
HTMLメールをサポートしているメールソフトでHTMLメールを開くと、下図のような画像や文字装飾を使ったメールを表示させることが出来ます。
このようにHTMLで書かれたメールが表示できるのは、メールソフト側がHTML文を読み取り、ブラウザなどと同じように体裁を整えて表示させているからです。
このメールのメッセージ本体部分は以下のようになっています。
(説明に必要な部分だけを抜粋しています。)
以下の文は、MIME形式によって、メッセージ本体が複数のパートに分かれていることを表わしています。
「multipart/alternative」は、内容が同じで、形式のみが違うパートであるため、どちらか一方のみを表示すれば良いことを表わしています。
「boundary」で定義されているのは、区切りとして使われる文字です。
Content-Type: multipart/alternative;
boundary="----=_NextPart_001_000E_01C69623.BA822170"
以下の区切り文字の後に続くのは、HTMLタグを使用していないテキスト文書のパートです。
HTMLメールを作成できるメールソフトなどでは、HTML文とともにテキスト文も作成し、メッセージ本体に書き込んでいます。
「text/plain」は、このパートがテキスト文書であることを表わしています。
メールソフトでテキストメールのみを表示させるようになっている場合は、ここに書かれてある内容が表示されます。
------=_NextPart_001_000E_01C69623.BA822170
Content-Type: text/plain;
charset="iso-2022-jp"
Content-Transfer-Encoding: 7bit
HTML$B%a!<%k(B
--------------------------------------------------------------------------------
$B%a!<%k$O(BWeb$B%Z!<%8$HF1$8$h$&$K!"J8;z$NAu>~$d!"2hA|$r;HMQ$9$k$3$H$,$G$-$^$9!#(B
次の区切り文字の後に、HTML文のパートがあります。
「text/html」は、HTML文であることを表わしています。
Webページのソースを見たことがある方にはお馴染みの「タグ」が使用されています。
HTMLメールを表示する場合は、ここに書かれてある内容が表示されます。
------=_NextPart_001_000E_01C69623.BA822170
Content-Type: text/html;
charset="iso-2022-jp"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-2022-jp">
(以下省略)
上記の例を見ると、HTMLメールで表示されるHTML文の扱いは、添付ファイルなどに近いものだと分かります。
普通の添付ファイルと異なっているのは、HTMLメールを表示できるメールソフトでは、他のアプリケーションを開かなくても、HTML文を読み込んで自動的に表示させることができることです。
しかし、HTMLメールに対応していないメールソフトで表示する場合や、設定でHTMLメールを表示しないようにしている場合には、テキスト文書のパートが表示され、HTML文と使用している画像は、添付ファイルと同じように表示されます。
以上で、HTMLメールについての説明は終わりです。
HTMLメールをサポートするメールソフトが増え、一般家庭のインターネット接続環境もブロードバンドに変わったことにより、HTMLメールの利用は増えてきています。
しかし、Webと同じ技術を使えるということで、セキュリティ面などは十分注意する必要があると思います。