電子メールの HTML ページを作成するための原則の概要

電子メールの HTML ページを作成するための原則の概要
HTML メールはこのサイト上の独立したホスト ページではないため、他の誰かによってホストされています。したがって、HTML メールの作成は HTML ページの作成とは大きく異なります。これは、インターネット ユーザー向けのすべての主流の電子メール サービスが、受信した HTML 電子メールをバックグラウンドで多かれ少なかれフィルタリングするためです。 onclick や onmouseover などのすべてのイベント監視属性を含む JS コードが厳密にフィルタリングされていることは間違いありません。これは電子メールのセキュリティを考慮した上で行われます。それだけでなく、CSS コードも部分的にフィルタリングされます。今回お話ししたいのは、大手の主流メールボックスでフィルタリングされず、正常に表示できる HTML メールの書き方についてです。

まず、メールボックスに HTML メールがどのように表示されるかを見てみましょう。私は電子メール システムに携わったことがなく、主要な電子メール システムの背後にあるフィルタリング アルゴリズムは、部外者にとってそれほど簡単に理解できるものではありません。したがって、メールボックスで受け入れられる書き込み方法と、フロントエンドの表示を通じてフィルタリングされる書き込み方法を推測することしかできません。 Gmail、Hotmail、163、sohu、sina の分析を通じて、メールボックスを 2 つのカテゴリに分類します。

最初のカテゴリには、gmail、hotmail、sohu が含まれます。このタイプのメールボックスの場合、電子メールの内容はメールボックス ページ全体の div にレイアウトされます。図に示すように:


2 番目のカテゴリには 163 と sina が含まれます。このタイプのメールボックスでは、電子メールの内容は独立した iframe にレイアウトされます。図に示すように:

HTML に詳しい人なら、iframe コンテンツは独立したドキュメントであり、親ページの要素や CSS とは無関係であり、ほぼ独立したページとして扱うことができることを知っています。電子メールの内容が div 内にある場合、電子メールの内容はメールボックス ページ全体の不可欠な部分になります。明らかに、表示方法として iframe を使用する電子メールは、十分に独立した表示スペースを提供するため、電子メール コンテンツに対してはるかに寛容になります。 div はあまり丁寧ではありません。メールにこの CSS を記述すると、メール ページ全体のフォント サイズが 20 ピクセルになり、乱雑になるのではないかと想像してください。
<スタイル タイプ="text/css">
本文 {フォントサイズ:20px}
</スタイル>
すべてのメールボックスと互換性のある統一されたメールテンプレートを記述する必要がある場合、上記の外部 CSS 記述方法を避ける必要があります。また、異常なコンテンツフローを形成する float や position などのスタイルもフィルタリングされます。これらを記述すると、外部メールボックスのパフォーマンスに影響を与える可能性があります。


ここにいくつかの執筆原則を示します。
1. グローバル ルールの 1 つは、<style> タグを記述せず、クラスを記述せず、すべての CSS でスタイル属性を使用し、特定のスタイルを必要とする要素のインライン CSS を記述するためにスタイルを使用することです。

2. 2 番目のグローバル ルールは、画像の使用を減らすことです。メールボックスは img タグをフィルターしませんが、システムは多くの場合、見慣れないメールからの画像を読み込まないことをデフォルトとしています。メールに多くの画像が使用されている場合、画像が読み込まれないと見苦しくなり、コンテンツさえもはっきりと見えなくなります。我慢できないユーザーは、すぐに削除します。画像には常に alt を追加します。

3. スタイル内に float、position、その他のスタイルを記述しないでください。これらはフィルタリングされます。では、左右レイアウトやより複雑なレイアウトを実現するにはどうすればよいでしょうか?テーブルを使用します。

4. 背景色はスタイル コンテンツで設定できますが、画像はフィルターされるため、CSS を通じて背景画像を設定することはできません。しかし、背景とも呼ばれる非常に興味深い要素属性があり、画像パスを定義できます。これは良い代替手段です。機能は制限されていますが、たとえば背景画像を配置することはできませんが、何もないよりはましです。たとえば、セルに背景を追加するには、次のように記述する必要があります。
<td 背景=”http://image1.koubei.com/images/common/logo_koubei.gif”></td>

5. div モードのメールボックスはフラッシュをサポートしていないため、iframe モードのメールボックスを検証する必要があります。

最後に、Sohu のメールは非常に奇妙であることを述べておきます。各テキスト段落の後にスペースが追加されるため、通常のレイアウトが 1 行に収まらず折り返され、レイアウトが乱れてしまいます。したがって、Sohu Mail との互換性を確保したい場合は、コンパクトなレイアウトに遭遇したときには特に注意し、テキスト セグメントの数を減らして十分な幅を残すようにしてください。

<<:  JavaScript DOM オブジェクト操作

>>:  モバイル開発チュートリアル: ピクセル表示の問題の概要

推薦する

Vueルーティングコンポーネントでパラメータを渡す8つの方法の詳細な説明

シングルページアプリケーションを開発する場合、特定のルートを入力し、パラメータに基づいてサーバーから...

MySQLデータベースの数千万件のデータクエリとストレージの詳細な説明

目次百万レベルのデータ処理ソリューションデータストレージ構造設計クエリステートメントの最適化1000...

HTML特殊文字の徹底分析

HTML徹底解析(14)特殊文字 ■ よく使われる特殊文字 HTMLタグを知っていれば、特殊文字の使...

CentOS8 でローカル yum ソースを構成するための詳細なチュートリアル

centos8 ディストリビューションは、BaseOS および AppStream リポジトリを通じ...

JavaScript でドラッグ スライダー パズルの検証機能を実装します (html5、canvas)

導入:スライダー ドラッグ検証は現在、多くの場所で使用されています。週末に 1 つ作成しようと思い、...

Windows サーバー ファイルをローカルにバックアップする方法、Windows サーバー データ バックアップ ソリューション

重要なデータはバックアップする必要があり、リアルタイムでバックアップする必要があります。そうしないと...

Vue3 非同期データ読み込みコンポーネントサスペンスの使い方

目次序文コンポーネントの作成要約する序文Vue3 には多くの注目すべき機能が追加されましたが、サスペ...

CSS で平均レイアウトを実現するためにネガティブ マージン テクノロジーを使用する方法

通常、IE ブラウザでの CSS の互換性の問題を解決するために、フロート レイアウトが使用されます...

誰もが登録できるようにJiedaibaoを宣伝するにはどうすればよいでしょうか? ジエダイバオのプロモーション方法とスキル

借財宝は最近人気が出ている携帯電話ローンソフトウェアプラットフォームです。知人同士の貸し借りが特徴で...

Vueは質問応答機能を実装する

1. リクエスト回答インターフェース2. ユーザーの回答が正しいかどうかを判断します。回答が正しい場...

Linux の crw、brw、lrw などのファイル属性は何ですか?

ファイルとは何ですか?すべてのファイルは実際には文字列のストリームですが、適切な解析方法を使用すると...

Centos ベースイメージの作成方法

序文現在、私の会社で使用しているオペレーティングシステムはすべて CentOS7.4 で、アプリケー...

Linux でローカル コンピューターとリモート サーバーのポートが接続されているかどうかを確認する方法

以下のように表示されます。 1. ssh -v -p [ポート番号] [ユーザー名]@[IPアドレス...

Google 翻訳ツール: 多言語ウェブサイトを素早く実装

Google Chinaは、ウェブサイトやブログを素早く簡単に多言語化できる翻訳ツールをリリースした...

LinuxにVSCodeをダウンロードしてインストールし、プログラミングを使用して現在の時刻を出力する

rpmコマンドがソフトウェアのインストールに使用するパラメータはどれですか: -i rpm コマンド...