さて、HTMLメールを使う最大の理由は、「画像を使い、自由にレイアウトができる」という点でしょう。そういう意味では、前述の画像を扱ううえでの注意点は、とても重要です。
特に、ネットショッピングやゲームなどのような、大きめの画像を配置してクリックを訴求するようなデザインの場合、「大きい画像を1つの画像として書き出すのではなく、いくつかの部分に分割して、それらを<table>要素を使って配置する」というのが一般的でしょう(そして、その中にリンクさせるボタンなどを配置する場合が多いでしょう)。
そんなとき、不明な余白ができてしまうと、とても目立ってしまいます。前述した画像の問題点を把握しておくことは、スムーズに作業を進めるうえで、とても重要です。
また上記とは別に、メーラーやWebメールを閲覧するWebブラウザごとにさまざまな問題が起きることがあります。それらの問題に対しても、ある程度「どのメーラー/Webメールで見ても問題のない指定」があります。
ここからは、今回のサンプル作成に当たり指定した、うまくHTMLメールを制作するコツを10個紹介します。いまの制作のスタンダードからかなり逆行しますが、複数のメーラーなどに対応するためには覚えておきたいところです。
メーラー/Webメールによっては、継承関係が想定通りにいかないことがあります。どのメーラーにも対応できるように、直近の要素へ指定するようにしましょう。
また、インラインCSSが効かない場合もあるので、フォントサイズなど全体で共通する部分は、<style>要素にも合わせて指定しておきます。
できるだけ細かく設定するのがレイアウト崩れを防ぐ近道です。
また使用する際は、インラインCSSを使わずにwidthやheight属性を使用しましょう(メーラーによってはインラインCSSが効かなかったり、特定のスタイルが削除される場合があります)。
画像まわりは、ほんとに癖があります。無理に余白などをHTML側で制御するより、画像に含めてしまった方がズレも起きずに簡単に作成できます。
また、画像を配置する際はフォントサイズなどの関係から想定外の余白ができる場合があります。「画像だけを配置する場合は、フォント関連の指定を「0」に初期化しておく」と覚えておくと、作業がスムーズです。
Outlook Expressに限らず、プレビューと実際の表示は異なることが少なくありません。プレビュー画面はテキストの間違いなど、最終チェック的な位置付けと割り切ってしまいましょう。
また、HTMLメール内で使う画像は基本、サーバに置いての配信です。画像を添付して送らないように注意してください。
ターゲットにするメーラーやWebメールなどがある程度決まっている場合は、指定しなくても問題ないでしょう。ですが、
実際に制作してみましょう。送信に関しては、マクロミルの調査結果を参考に、一番使われているメーラーであるOutlook Expressを使ってHTMLメールを送信する方法と注意点を最後に紹介します。
まず、デザインされたものをHTMLに起こします。このとき制作するツールはテキストエディタでもなんでも構いません。ここで作成した.htmlファイルをOutlook Expressで読み込ませて使うので、.htmlファイルが作れれば問題ありません。
まずはヘッダ部分を見てみます。見てみると分かるように、普通にWebサイト制作をするのと変わりません。現在よく使われているメーラーでは問題ないようですが、DOCTYPEはHTML 4.01を使用してください。こちらも安全対策のためです。
また、<meta>要素などはHTMLメールでは意味を持つものではありませんが、そのHTMLメールをWebサイト上にバックナンバーとして掲載する場合や、正常にメーラーで見れない人のために公開する場合のことも考えて、しっかりと指定しておいた方がいいでしょう。
そして、使用する文字コードは「iso-2022-jp」としてください(一番利用されている文字コードです。これ以外の文字コードも指定できますが、やはり上記の文字コードを使用するのが一番安全でしょう)。
サンプルソースを見ると、<head>要素内に<style>要素があることにお気付きと思います。ここでは、<body>要素や<div>要素などに対して、基本的な初期化と、文字サイズやフォントファミリー、カラーなどをすべて同一に設定します。これは、継承関係などの問題が起きることを防ぐために、すべての要素に同じ指定をしておく、というわけです。
またそれ以外にも、「a:hover」など、しっかりと<style>要素が読み込まれるメーラー向けに指定しておくのもいいでしょう。
続いて実際のコンテンツ部分のソースです。<body>要素に昔ながらの指定があります。さらに<div>や<table>、<td>要素を見てもらうと分かるように、同じような指定を重複して指定しています。こちらも念のためですね。
さらに細かく見ていくと、<td>要素が空のものがあることに気付くと思います。前述の注意事項で説明したように、「ちょっとした余白」はcellspacingを使うといいのですが、コンテンツ全体の余白や、いわゆるレイアウト上必要な余白などは空の<td>要素にwidthやheight属性を指定して余白を取るのが一般的です(CSSでの指定では、メーラーによっては削除されたりすることがあるなど、若干問題が起きる場合があるので、widthやheight属性を使う方が安全です)。
さらに見ていくと、「いちコンテンツ」とコメントが付けられた個所があります。これは、1つの案件の進ちょく状況や、コメントなどを記入するエリアです。
このように、1つのコンテンツ単位で<table>要素を使用すると、複製が容易になり、またコンテンツの構造を変更する必要が生じたときも、ほかの要素に影響を与えることなく、その<table>内だけで修正が完結するので、メンテナンス性にも優れます(この部分は、テーブルレイアウトの手法【B】で紹介したように、<table>要素をブロックのように積んでいくのを想像すると、イメージしやすいかと思います)。
さて、こうして余白とコンテンツ部分の要素を分離してHTMLメールを作成していき、最終的にHTMLメールが完成したら、ひとまず普通にWebブラウザで開きレイアウトが崩れていないか確認します(おそらく、確認しながら制作していくとは思いますが)。
Webメールも考慮し、複数のWebブラウザで見ておくと、より作業がスムーズに進むでしょう。こうしてチェックが終わったら、いよいよメーラーでテスト配信です。
Copyright © ITmedia, Inc. All Rights Reserved.