一般的なメールボックスで正常に表示できる HTML メールを作成するためのヒント

一般的なメールボックスで正常に表示できる HTML メールを作成するためのヒント

HTML メールを送信するためのヒント: スタイルを使用してインライン CSS を記述する、使用する画像を少なくする、テーブルを使用して左右レイアウトまたはより複雑なレイアウトを実装する、背景要素を使用して背景画像を設定するなど。
ほぼすべての会員制ウェブサイトでは、登録確認やマーケティングプロモーションなど、会員とのコミュニケーションのためにバックグラウンドでメールを送信する必要があります。サイトからメンバーに送信されるこれらのレターは、プレーンテキスト形式ではインターフェイスとインタラクションの要件を満たすことができないことがよくあります。現時点では、HTML ページを送信する必要があります。 HTML メールはこのサイト上の独立したホスト ページではないため、他の誰かによってホストされています。したがって、HTML メールの作成は HTML ページの作成とは大きく異なります。これは、インターネット ユーザー向けのすべての主流の電子メール サービスが、受信した HTML 電子メールをバックグラウンドで多かれ少なかれフィルタリングするためです。 onclick や onmouseover などのすべてのイベント監視属性を含む JS コードが厳密にフィルタリングされていることは間違いありません。これは電子メールのセキュリティを考慮した上で行われます。それだけでなく、CSS コードも部分的にフィルタリングされます。今回お話ししたいのは、大手の主流メールボックスでフィルタリングされず、正常に表示できる HTML メールの書き方についてです。
HTML メールを送信するためのヒント: スタイルを使用してインライン CSS を記述する、使用する画像を少なくする、テーブルを使用して左右レイアウトまたはより複雑なレイアウトを実装する、背景要素を使用して背景画像を設定するなど。
まず、メールボックスに 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}
</スタイル>
<スタイル タイプ="text/css">
本文 {フォントサイズ:20px}
</スタイル>
すべてのメールボックスと互換性のある統一されたメールテンプレートを記述する必要がある場合、上記の外部 CSS 記述方法を避ける必要があります。また、異常なコンテンツフローを形成する float や position などのスタイルもフィルタリングされます。これらを記述すると、外部メールボックスのパフォーマンスに影響を与える可能性があります。
ここにいくつかの執筆原則を示します。
1. グローバル ルールの 1 つは、<style> タグを記述せず、クラスを記述せず、すべての CSS でスタイル属性を使用し、特定のスタイルを必要とする要素のインライン CSS を記述するためにスタイルを使用することです。
2. 2 番目のグローバル ルールは、画像の使用を減らすことです。メールボックスは img タグをフィルターしませんが、システムは多くの場合、見慣れないメールからの画像を読み込まないことをデフォルトとしています。メールに多くの画像が使用されている場合、画像が読み込まれないと見苦しくなり、コンテンツさえもはっきりと見えなくなります。我慢できないユーザーは、すぐに削除します。画像には常に alt を追加します。
3. スタイル内に float、position、その他のスタイルを記述しないでください。これらはフィルタリングされます。では、左右レイアウトやより複雑なレイアウトを実現するにはどうすればよいでしょうか?テーブルを使用します。
4. 背景色はスタイル コンテンツで設定できますが、画像はフィルターされるため、CSS を通じて背景画像を設定することはできません。しかし、背景とも呼ばれる非常に興味深い要素属性があり、画像パスを定義できます。これは良い代替手段です。機能は制限されていますが、たとえば背景画像を配置することはできませんが、何もないよりはましです。たとえば、セルに背景を追加するには、次のように記述する必要があります。
<td background="upload/2022/web/logo_koubei.gif"></td>
<td background="upload/2022/web/logo_koubei.gif"></td>
5. div モードのメールボックスはフラッシュをサポートしていないため、iframe モードのメールボックスを検証する必要があります。
最後に、Sohu のメールは非常に奇妙であることを述べておきます。各テキスト段落の後にスペースが追加されるため、通常のレイアウトが 1 行に収まらず折り返され、レイアウトが乱れてしまいます。したがって、Sohu Mail との互換性を確保したい場合は、コンパクトなレイアウトに遭遇したときには特に注意し、テキスト セグメントの数を減らして十分な幅を残すようにしてください。

<<:  自動ヘルスレポートを実現するDocker+Selenium方式

>>:  CSS でテキストカラーグラデーションを実装する 3 つの方法

推薦する

Vue3.0 手書き拡大鏡効果

達成される効果は、固定ズームが 2 倍になり、マウスが左側の画像領域に入るとマスク レイヤーが表示さ...

FlashFXP FTP クライアント ソフトウェア登録クラッキング方法

FlashFXPのダウンロードアドレスは、https://www.jb51.net/softs/95...

登録ページを実装するためのJS、CSS、HTML

HTML と CSS で実装された登録ページ テンプレート。早速、コードを見てみましょう。更新: ...

【Webデザイン】E-WebTemplates の美しい海外の Web ページ テンプレート (FLASH+PSD ソース ファイル+HTML) を共有します

これらはすべて海外のE-WebTemplates WebサイトからのWebページテンプレートであり、...

MAC 上の MySQL の初期パスワードを忘れた場合の対処方法

MACでMySQLの初期パスワードを忘れた場合の解決策を参考までに共有します。具体的な内容は次のとお...

JavaScript クラス配列の詳細な理解

js 配列はどこでも使用されているため、おそらく誰もがよく知っているでしょうが、配列クラス (疑似配...

Linux で NFS ファイル共有サーバーを構築するための詳細な手順

Linux が NFS サーバーを構築異なるオペレーティング システム間でデータを共有するために、通...

MySQLクエリ速度が遅く、パフォーマンスが低下する原因と解決策

1. データベースクエリの速度に影響を与えるものは何ですか? 1.1 データベースクエリ速度に影響を...

ネイティブ JavaScript を使用して計算機のサンプル コードを開発する

計算機の主な機能は数値計算を実行することです。計算機機能の Web インスタンスを開発すると、js ...

Linux ソースコードの解析 epoll

目次1. はじめに2. シンプルなepollの例2.1、epoll_create 2.2、構造体イベ...

ウェブフォーム送信方法の詳細な概要

まず、フォームを送信するいくつかの方法を見てみましょう。 1. <!--一般的な送信ボタン--...

Nginx ベースのアクセス制御と接続制限の実装

序文Nginxの組み込みモジュールは、同時リクエスト数の制限とリクエストのソースの制限をサポートして...

CSS フォント、テキスト、リストのプロパティの詳細な紹介

1. フォントのプロパティcolorは、div{color:red;}のようにテキストの色を指定しま...

HTMLのリストタグを数える

1. <dl>はリストを定義し、<dt>はリスト内の項目を定義し、<d...

カルーセル例の JavaScript 実装

この記事では、カルーセルの効果を実現するためのJavaScriptの具体的なコードを参考までに共有し...