· 14分読了

メールクライアントの互換性:どこで何が動作するか

どのメールクライアントでどの CSS と HTML 機能が動作するかを把握する。

HTML メール開発の核心的な課題はメールクライアントの互換性です。ウェブブラウザとは異なり、標準にほぼ収束したのに対し、メールクライアントは HTML と CSS を一貫性のない方法でレンダリングします。このガイドでは、どこで何が動作するかを文書化しています。

互換性を直接扱いたくない場合、Sequenzy のようなメールビルダーや MJML のようなフレームワークがこれらの問題を処理します。しかし、状況を理解することで情報に基づいた決定ができます。

主要なメールクライアント

Outlook (Windows)

最も挑戦的なクライアントです。Outlook 2007-2019 はブラウザエンジンではなく Microsoft Word のレンダリングエンジンを使用します。これにより:

  • CSS フロート非対応
  • div の背景画像非対応(テーブルセルは可)
  • margin/padding サポート制限
  • CSS 位置指定非対応
  • レイアウトにはテーブル必須

Outlook 365 (新 Outlook) は多少改善されていますが、依然として重大な制限があります。

Gmail

Gmail は head 内にない style タグを削除します(一部のクライアントの場合)。また、多くの CSS プロパティを削除します。主要な制限:

  • 一部の CSS セレクタを削除
  • 一部のコンテキストで埋め込み @media クエリ非対応
  • 信頼性のためにインラインスタイル必須
  • デフォルトで外部画像をブロック

Gmail App (モバイル) は Gmail web より一部の領域で優れた CSS サポートがあります。

Apple Mail (macOS/iOS)

最も機能豊富なメールクライアントです。Safari に似た WebKit を使用。対応:

  • メディアクエリ
  • CSS アニメーション(限定されたユースケース)
  • 背景画像
  • モダンな CSS プロパティ

主なユーザーが Apple の場合、デザインの柔軟性が高まります。

Yahoo Mail

中程度の CSS サポート。一部のスタイルを削除しますが Gmail より穏やか。フォールバック付き背景画像対応。

Outlook.com (Hotmail)

デスクトップ Outlook とは異なります。ブラウザベースのレンダラー使用。デスクトップ Outlook より優れた CSS サポートですが、依然として癖があります。

CSS プロパティのサポート

どこでも安全に使用可能

/* These work in all major clients */
color: #333333;
font-family: Arial, sans-serif;
font-size: 16px;
font-weight: bold;
line-height: 1.5;
text-align: center;
text-decoration: none;
background-color: #ffffff;
border: 1px solid #cccccc;
padding: 10px; /* on table cells */
width: 100%;
max-width: 600px;

部分サポート(テスト必須)

/* Work in most clients, issues in Outlook */
border-radius: 4px; /* No Outlook support */
background-image: url(...); /* Use VML for Outlook */
box-shadow: ...; /* Limited support */
margin: 10px; /* Inconsistent in Outlook */

避けるか慎重に使用

/* These cause problems */
display: flex; /* No email support */
display: grid; /* No email support */
position: absolute/relative; /* Very limited */
float: left/right; /* Outlook issues */
transform: ...; /* Limited support */
animation: ...; /* Only Apple Mail */

レイアウト手法

構造のためのテーブル

テーブルは信頼できるレイアウト手法として残っています:

<table role="presentation" width="100%" cellpadding="0" cellspacing="0">
  <tr>
    <td align="center" style="padding: 20px;">
      <table width="600" cellpadding="0" cellspacing="0">
        <tr>
          <td>Content here</td>
        </tr>
      </table>
    </td>
  </tr>
</table>

Outlook 条件付きコメント

Outlook を特化して対象化:

<!--[if mso]>
  <!-- Outlook-only code -->
  <table width="600"><tr><td>
<![endif]-->

  <div style="max-width: 600px;">
    Content for all clients
  </div>

<!--[if mso]>
  </td></tr></table>
<![endif]-->

Outlook 背景画像のための VML

セクションの背景画像には Outlook で VML が必要です:

<!--[if gte mso 9]>
<v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false" style="width:600px;height:300px;">
<v:fill type="tile" src="background.jpg" color="#ffffff" />
<v:textbox inset="0,0,0,0">
<![endif]-->

<div style="background-image: url(background.jpg); background-color: #ffffff;">
  Content here
</div>

<!--[if gte mso 9]>
</v:textbox>
</v:rect>
<![endif]-->

画像

基本画像コード

<img
  src="https://example.com/image.jpg"
  alt="Description"
  width="600"
  height="300"
  style="display: block; max-width: 100%; height: auto; border: 0;"
>

主要な属性:

  • width/height: 寸法を設定(Outlook で必要)
  • display: block: 画像下の隙間を除去
  • max-width: 100%: レスポンシブスケーリング
  • border: 0: リンク画像の枠線を除去

画像形式

  • JPG: 写真、複雑な画像
  • PNG: 透過、シンプルなグラフィックス
  • GIF: アニメーション(慎重に)
  • SVG: サポート制限あり、メールでは避ける
  • WebP: Outlook で非対応

フォント

Web セーフフォントスタック

font-family: Arial, Helvetica, sans-serif;
font-family: Georgia, Times, serif;
font-family: 'Courier New', Courier, monospace;

カスタムフォント

Web フォントは一部のクライアント(Apple Mail、iOS、一部の Android)で動作します。フォールバック付きで使用:

<style>
  @import url('https://fonts.googleapis.com/css2?family=Open+Sans&display=swap');
</style>

<p style="font-family: 'Open Sans', Arial, sans-serif;">
  Text with custom font
</p>

Outlook と Gmail はフォールバックを使用します。Apple Mail はカスタムフォントを使用します。

メディアクエリ

サポートは大きく異なります:

<style>
  @media screen and (max-width: 600px) {
    .mobile-full-width {
      width: 100% !important;
    }
    .mobile-hide {
      display: none !important;
    }
    .mobile-stack {
      display: block !important;
    }
  }
</style>

メディアクエリのサポート:

  • Apple Mail: 完全サポート
  • iOS Mail: 完全サポート
  • Gmail App (iOS): サポート
  • Gmail App (Android): サポート
  • Gmail (web): 限定サポート
  • Outlook: 非対応

互換性のためのメールビルダーの使用

メールビルダーは互換性の懸念を抽象化します。Sequenzy はクライアント間で動作する HTML を生成します。視覚的にデザインし、ツールが技術的な出力を処理します。

MJML のようなフレームワークはセマンティックマークアップを互換性のある HTML にコンパイルします。クリーンなコードを書き、フレームワークがネストされたテーブルとインラインスタイルを生成します。

Litmus のようなテストツールは 90 以上のクライアントでのレンダリングを表示します。送信前に問題を確認。

テスト戦略

  1. まず Outlook でテスト。 そこで動作すれば、おそらくどこでも動作します。
  2. Gmail を確認。 CSS 削除が問題を引き起こす可能性。
  3. モバイルで確認。 開封の 60%以上がモバイル。
  4. 画像オフでテスト。 画像なしでもメッセージが明確か確認。

結論

メールクライアントの互換性は複雑ですが、管理可能です。実証済みの手法を守る:レイアウトにテーブル、インラインスタイル、フォールバック付き Web セーフフォント。送信前にクライアント間でテスト。

複雑さを避けたいチーム向けに、Sequenzy や MJML のようなツールが互換性を自動処理します。出力はテスト済みで、レンダリングの癖ではなくコンテンツに集中できます。