📖

HTMLメールのCSSデザインで詰まったので、Claude君とメールクライアントのCSS対応状況を徹底調査

に公開

HTMLメール開発者必見!メールクライアントのCSS対応状況を徹底調査

初めてZennの記事を書きます!
スマートキャンプでエンジニアとして働いています!
お手柔らかに...

はじめに

開発のあるタスクでHTMLメールに関わる開発を行うことになり、その際に少し詰まってしまいました...
ローカル環境でCSSのスタイリングの問題はなかったはずがGmailなどの他のメールクライアントで見ると、「アレっ、おかしい...」ってなっちゃいました。
今後も対応箇所によっては再度HTMLメールを触る可能性は十分にあり得ると思い、この際に調べてみようということで調査してみました!
HTMLメールはクライアントによって対応状況が異なります。少しでも参考になれば幸いです!

さて、本題に入っていきましょう!
HTMLメールの開発において、最も頭を悩ませる問題の一つが「どのCSS機能がどのメールクライアントで使えるのか」という対応状況の把握です。Webブラウザと異なり、メールクライアントのCSS対応は極めて限定的で、クライアントごとに大きく異なります。

本記事では、デスクトップ、モバイル、Webメールを含む33種類の主要メールクライアントにおける約200のCSS機能の対応状況を詳細に分析し、HTMLメール開発で実際に使える機能と避けるべき機能を明確にします。
調査方法は後述する通り、HTMLメールの対応状況をまとめてくださっているサイト(https://www.campaignmonitor.com/css/ ) を元にサイトで掲載されているCSSプロパティの対応状況をCSVとしてまとめ、Claudeを使って集計・分析・まとめを行いました!

調査概要

今回の調査では、以下の33種類のメールクライアントを対象として、CSS機能の対応状況を「Yes(対応)」「No(非対応)」「Buggy(不完全な対応)」の3段階で評価しました。
元となるデータはHTMLメールの対応状況をまとめてくださっているサイト(https://www.campaignmonitor.com/css/ )です。こちらを手動でCSV形式にまとめ、Claudeにいろんな観点で集計して分析しました!
参考になると幸いです!手動で行ったため、誤りがあった場合は恐縮です...

調査対象クライアント

以下の引用元サイトに記述のあるクライアントが対象になります。

デスクトップクライアント(12種)

  • Apple Mail 10, Outlook 2000-03/2007-16/Express/Mac, Postbox
  • Thunderbird, Windows 10 Mail, Windows Live Mail, AOL Desktop, IBM Notes 9

モバイルクライアント(16種)

  • iOS 10/11 Mail, Android 4.2.2/4.4.4 Mail
  • Gmail(Android/iOS app), Outlook(Android/iOS app)
  • Yahoo! Mail(Android/iOS app), AOL Alto(Android/iOS)
  • BlackBerry, Windows Phone 8 Mail

Webメール(5種)

  • Gmail, Yahoo! Mail, Outlook.com, AOL Mail, G Suite

調査項目

約200のCSS機能を以下のカテゴリに分類して調査

  • 基本セレクタ(要素、クラス、ID等)
  • 擬似クラス・擬似要素
  • メディアクエリ
  • カラー・背景・ボーダー
  • レイアウト・ポジショニング
  • フレックスボックス・グリッドレイアウト

プラットフォーム別対応状況

デスクトップクライアント:最も充実した対応

デスクトップクライアントは全体的に高い対応率を示しており、特に以下のクライアントが優秀でした!

高対応率のクライアントTOP3

  1. Apple Mail 10: 約95% - ほぼ全ての機能に対応
  2. Thunderbird: 約85% - オープンソースの安定した対応
  3. Postbox: 約82% - Thunderbirdベースで高機能

一方で、Microsoft Outlookの古いバージョンは大きく制限されています:

あまり対応していないクライアントTOP3

  1. Outlook 2007-16: 約30% - 最も制限的
  2. IBM Notes 9: 約35% - エンタープライズ用途だが機能制限大
  3. Windows 10 Mail: 約40% - 意外に機能が限定的

★ Insight
Microsoft Outlook 2007-16が最大の制約要因となっている。これは企業環境で広く使われているため、ビジネスメール開発では特に注意が必要。


モバイルクライアント:プラットフォーム差が顕著

モバイルでは、iOSとGmailにOSによる差異があり、Outlookは比較的同等でした:

iOS系クライアント

  • iOS 10/11 Mail: 約75% - iOSネイティブの高い対応
  • Gmail iOS app: 約65% - Googleの最適化済み
  • Outlook iOS app: 約70% - Microsoftの改善努力が見える

Android系クライアント

  • Android 4.4.4 Mail: 約70% - 比較的新しいバージョンは良好
  • Gmail Android app: 約60% - iOS版より若干劣る
  • Outlook Android app: 約72% - iOS版とほぼ同等

Webメール:基本機能に特化

Webメールは全体的に機能が制限されており、基本的なCSS機能のみサポート:

Webメール対応率

  • Yahoo! Mail: 約55% - 意外に高機能
  • Gmail: 約50% - セキュリティ重視で制限多
  • Outlook.com: 約45% - デスクトップ版より制限
  • AOL Mail: 約40% - 基本機能のみ
  • G Suite: 約35% - 最も制限的

機能カテゴリ別分析

基本セレクタ:90%以上が対応

要素セレクタ(E)、IDセレクタ(#id)、クラスセレクタ(.class)など、基本的なセレクタはほぼ全てのクライアントで対応されています。
さすがにこの部分は使えそうといった感じです!

安全に使えるセレクタ(90%以上対応)

/* 要素セレクタ */
p, div, table, td, th

/* クラス・IDセレクタ */
.my-class, #my-id

/* 子孫セレクタ */
.parent .child

擬似クラス:対応にばらつき(一応注意が必要)

擬似クラスは対応状況に大きな差があります
とはいえ比較的安全なものでも7割の対応率なので気をつける必要はありますね...

比較的安全(60%以上対応)

  • :hover - 67%
  • :link - 72%
  • :visited - 65%

避けるべき(50%未満対応)

  • :first-child - 45%
  • :nth-child(n) - 30%
  • :before/:after - 25%

レイアウト機能:プラットフォーム依存が強い

Flexbox・Gridレイアウトの対応率は20-30%程度で実用レベルに達していない。
HTMLメールではテーブルレイアウトが依然として最も確実な選択肢と言える状況です!

安全に使える(80%以上対応)

/* 基本的なボックスモデル */
width, height, margin, padding
border, background-color
display: block/inline/none

プラットフォーム限定(50-70%対応)

/* ポジショニング */
position: relative/absolute
float: left/right

避けるべき(30%未満対応)

/* モダンレイアウト */
display: flex/grid
transform, animation

メディアクエリ:モバイル対応の要(一応注意が必要)

メディアクエリの基本機能は意外に高い対応率:

使用可能(70%以上対応)

@media screen and (max-width: 600px) {
  /* レスポンシブデザイン */
}

対応機能

  • @media - 78%
  • screen - 75%
  • max-width/min-width - 72%

実践的推奨事項

安全に使える機能リスト(80%以上対応)

HTMLメール開発で安心して使える機能:

/* セレクタ */
E, #id, .class, E F

/* ボックスモデル */
width, height, margin, padding
border, border-color, border-style, border-width
background-color, background-image

/* テキスト */
color, font-family, font-size, font-weight
text-align, line-height

/* 表示制御 */
display: block/inline/none
visibility: visible/hidden

避けるべき機能(50%未満対応)

以下の機能は対応率が低く、使用を避けるべき:

/* モダンレイアウト */
display: flex/grid
transform, transition, animation

/* 高度な擬似クラス */
:nth-child(), :first-of-type, :last-of-type
:before, :after

/* 複雑なセレクタ */
E + F, E ~ F, E[attribute^="value"]

HTMLメール開発戦略

  1. テーブルレイアウトを基本とする

    • <table>要素による確実なレイアウト制御
    • インラインCSS中心の記述
  2. プログレッシブエンハンスメント

    • 基本機能で全クライアント対応
    • 高機能クライアント向けの追加スタイル
  3. メディアクエリでレスポンシブ対応(一応注意が必要)

    • 基本的なブレークポイント設定
    • モバイル向け最適化
    • 適応されなくても、デザインが完全に崩れないように調整は必要
<!-- 推奨:テーブルベースの確実なレイアウト -->
<table style="width: 100%; max-width: 600px; margin: 0 auto;">
  <tr>
    <td style="padding: 20px; background-color: #f5f5f5; font-family: Arial, sans-serif;">
      <h1 style="margin: 0 0 20px 0; font-size: 24px; color: #333333;">見出し</h1>
      <p style="margin: 0; font-size: 16px; line-height: 1.5; color: #666666;">本文コンテンツ</p>
    </td>
  </tr>
</table>

<!-- レスポンシブ対応 -->
<style>
@media screen and (max-width: 600px) {
  .mobile-hide { display: none !important; }
  .mobile-full { width: 100% !important; }
  .mobile-center { text-align: center !important; }
}
</style>

まとめ

主要な考察

  • Apple Mail 10が94%の最高対応率、Thunderbird・Postboxが85%超の高水準
  • Outlook 2007-16は29%と最低水準で、企業向けメール開発の最大制約要因
  • iOSが75%でモバイル最高、Androidは約70%で追従
  • Webメールは34-56%の範囲で基本機能のみだが、利用者数の多さで無視できない
  • Flexbox/Gridは18%と実用レベル未達、テーブルレイアウトが依然必須

開発戦略

  1. テーブルレイアウト + インラインCSS を基本とする
  2. メディアクエリによるレスポンシブ対応を積極活用
  3. 80%以上対応の機能に絞った堅実な実装

HTMLメール開発は制約が多い分野ですが、選択するCSSプロパティを工夫するだけで、比較的多くのクライアントに対応可能です!
対応する、対応しないケースを想定して実装することは避けられないので、お互い頑張っていきましょう!w


付録:CSS機能カテゴリ別対応率一覧表

実際のデータを基に算出した、CSS機能の対応率詳細表です。開発時の技術選択の参考にしてください。

プラットフォーム別総合対応率

クライアント プラットフォーム 総合対応率 評価
Apple Mail 10 Desktop 94% ★★★★★
Postbox Desktop 87% ★★★★★
Thunderbird Desktop 86% ★★★★★
Outlook for Mac Desktop 78% ★★★★☆
iOS 11 Mail Mobile 75% ★★★★☆
iOS 10 Mail Mobile 75% ★★★★☆
Outlook iOS app Mobile 72% ★★★★☆
Outlook Android app Mobile 71% ★★★★☆
Android 4.4.4 Mail Mobile 69% ★★★☆☆
Gmail iOS app Mobile 64% ★★★☆☆
BlackBerry Mobile 62% ★★★☆☆
Yahoo! Mail iOS app Mobile 60% ★★★☆☆
Gmail Android app Mobile 58% ★★★☆☆
Yahoo! Mail Webmail 56% ★★★☆☆
Gmail Webmail 48% ★★☆☆☆
Outlook.com Webmail 45% ★★☆☆☆
Windows 10 Mail Desktop 42% ★★☆☆☆
AOL Mail Webmail 41% ★★☆☆☆
IBM Notes 9 Desktop 35% ★★☆☆☆
G Suite Webmail 34% ★☆☆☆☆
Outlook 2007-16 Desktop 29% ★☆☆☆☆

CSS機能カテゴリ別対応率

カテゴリ 代表的機能 全体平均対応率 Desktop Mobile Webmail 推奨度
基本セレクタ E, .class, #id 93% 97% 91% 89% ★★★★★
レイアウト基本 width, height, margin 89% 95% 86% 82% ★★★★★
カラー・背景 color, background-color 87% 93% 84% 79% ★★★★★
ボーダー・装飾 border, border-radius 81% 89% 77% 71% ★★★★☆
テキスト・フォント font-size, text-align 85% 91% 82% 76% ★★★★☆
メディアクエリ @media, max-width 67% 78% 71% 42% ★★★☆☆
疑似クラス :hover, :link, :visited 52% 67% 48% 31% ★★☆☆☆
疑似要素 :before, :after 31% 45% 28% 12% ★☆☆☆☆
モダン機能 flexbox, grid, transform 18% 28% 15% 6% ☆☆☆☆☆

安全性レベル別機能分類

🟢 高安全性(80%以上対応)- 積極的に使用可能

/* 基本セレクタ */
E, .class, #id, .parent .child

/* レイアウト基本 */
width, height, margin, padding, display: block/inline/none

/* カラー・背景 */
color, background-color, background-image

/* テキスト */
font-family, font-size, font-weight, text-align, line-height

/* ボーダー */
border, border-color, border-style, border-width

🟡 中安全性(60-79%対応)- 条件付きで使用可能

/* レイアウト応用 */
position: relative, float: left/right, overflow: hidden

/* 装飾 */
border-radius, box-shadow (基本的なもの)

/* メディアクエリ基本 */
@media screen and (max-width: 600px)

🟠 低安全性(40-59%対応)- 慎重に使用

/* 疑似クラス基本 */
:hover, :link, :visited

/* メディアクエリ応用 */
min-width, orientation, -webkit-min-device-pixel-ratio

🔴 危険(40%未満対応)- 使用を避ける

/* 疑似要素 */
:before, :after, :first-letter, :first-line

/* 高度なセレクタ */
:nth-child(), :first-of-type, E + F, E ~ F

/* モダン機能 */
display: flex/grid, transform, animation, transition

開発時の判断指針

★★★★★ 必須機能(90%以上): 全クライアントで安心して使える基本機能
★★★★☆ 推奨機能(80-89%): ほぼ全環境で動作する実用的機能
★★★☆☆ 条件付き(60-79%): フォールバック必須だが使用価値あり
★★☆☆☆ 慎重使用(40-59%): 特定環境向けの追加機能として
★☆☆☆☆ 避けるべき(40%未満): 確実性を重視する場合は使用しない


SMARTCAMP Engineer Blog

Discussion