HTMLメールを作成するとき、html、head、bodyタグを使用する必要がありますか?


113

私の電子メールビューでは、通常、次のようにします...

<dl>
   <dt>Name</dt>
   <dd>Value</dd>
</dl>

このようにすべきですか?

<html>
  <head></head>
  <body>
    <dl>
       <dt>Name</dt>
       <dd>Value</dd>
    </dl>
  </body>
</html>

言い換えれば、スタンドアロンのドキュメントをマークアップしていたようですか?

Webベースの電子メールクライアントがそれを取り除くと安全に想定できると思いますか?

正しい方法は何ですか?


何が価値があるために、Thunderbirdは出力htmlheadおよびbodyそのメッセージにタグを。
palswim 2018年

回答:


43

正しい方法は、HTML 標準に従うことです。ここで HTMLページを検証できます。

メールクライアントはそれに従い、サポートされていないものや、JavaScriptのように安全でないものを破棄する必要があります。

更新:基準に従うように言ったときに怒る人々からのいくつかの反対票投票の後、以下の基準が有益である理由のいくつかをここに公開します:

  1. メールをページ全体として表示するウェブメールなら、フォーマットを維持できます。
  2. ウェブメールは、不要なタグと属性を削除するだけです。しかし、どれがどれかは決してわかりません。
  3. フォーマット標準に準拠している(サーバー側の)コンポーネントを見つけるのは簡単なので、エラーが発生しにくくなります。標準に従っていないパーサーは壊れる可能性があり、メールが表示されない可能性があります。

54
-1正しい方法は、関連するクライアントでテストすることです。メールクライアント標準に従う必要がありますが、実際にはどれも従いません。
Dan Blows、2012年

27
mschonakerは正しいです。誰もが標準に従うようになれば、使用法は...まあ...標準化されます。それ以外の場合は、すべての開発者がその日のフレーバーのためにハックを実装する必要があります(IE6のことを考えてください)。正しい方法は、基準に従うことです。
cjcela

4
「htmlメール」の標準はありません。あなたはhtmlの標準を指しています。
RDS

2
私はこの答えに同意しますが、多くのクライアントは無効なhtmlをレンダリングしますが、ほとんどのクライアントでレンダリングされる最も信頼できるフォーマットは、有効なhtmlを持つことです!
markmnl 2015

3
これが正解です。パーツまたはボディのMIMEタイプはtext / htmlになります。コンテキストに関係なく、このタイプは、Webブラウザーまたは電子メールクライアントのいずれであっても、標準に準拠する必要があります。@cjcelaは正しい考えを持っています。もし私たち全員がIE8のサポートにこだわっていたら、Webは進化しないでしょう。標準に固執しないと、メールでHTMLをどのようにレンダリングして進化させるのでしょうか あなたがすべきことは標準に固執することですが、headsのスタイルシートのようなものは無視され、優雅なフォールバックがあるかもしれないことを認識してください。
Brett Ryan

33

html / head / bodyタグを含めるかどうかはまったく関係ありません。これらは常にオプションであり、ドキュメントのレンダリングに影響を与えることはありません。

最も重要なのは、quirksモードがオンかどうかです。残念ながら、それをウェブメールの設定で制御することはできません。テーブルとインラインスタイルはあなたの友達です。あなたの最善の策は、できるだけ多くのウェブメールとデスクトップクライアントでテストすることです。



4
「これらは常にオプションであり、ドキュメントのレンダリングに影響を与えません」ということは、単に真実ではありません。多くのレンダリングは、フォールトトレランスが低く、無効なhtmlをレンダリングしないことを選択できます。
markmnl 2015

メールクライアントに「このメールをブラウザで表示」というリンクがある場合はどうなりますか?無効なHTMLをレンダリングするかどうかは、デフォルトのブラウザー次第です。
セルゲイ

13

このスレッドの投稿の多くはかなり古く、その結果、それらはもはや正確ではありません。

最近、HTMLメールには、何か特別なことをするつもりであれば、doctype、html、およびbody宣言を含める必要があります。

HTMLメールを適切にコーディングする方法を学ぶのに役立つこのテーマに関するガイドは多数ありますが、それらのほとんどは、あなたの質問に出くわした方法であるdoctypeの詳細を無視します。

さまざまな問題に精通している評判の良いチームからの以下の2つの投稿を読むことをお勧めします。

キャンペーンモニターのテイク

酸のテイクに関するメール


おかしい...ここの投稿は古く、7年前のブログ投稿への回答にリンクを張っています。
Alexis Wilke 2017

2
私はそうしましたが、選ばれたブログの投稿は、その権威ある性質のために慎重に選ばれ、彼らは当時をかなり前向きにしていました。彼らが表明した意見は、当時特に珍しいものでした。特に、ここで他の回答で共有されている日付の付けられた主張とは対照的です。
カメルケフ2017

@AlexisWilkeとリンクの1つは、3年前にここでも言及されました!しかし、少なくとも現在は回答に含まれているので、
賛成投票で

11

それを受信する電子メールクライアントに完全に依存します。私の経験では、HTMLを解釈するほとんどの電子メールクライアントは、フルbody / head / htmlタグなどがあっても気にしません。実際、ほとんどのブラウザーではこれらのタグも必要ありません。スタイルやタイトルなどを含めるには、headタグが必要です。それ以外の場合は、本質的には必要ありません。私はそれらが必要であると見たことがありません。


3
html / head / bodyタグは常にオプションです。
ジョシュリー

10

私が知っていることは1つあります。HTMLの開始タグと終了タグを使用すると、一般的なスパムスコアリングに役立ちます。これは、このようなアプライアンスベースのフィルターやソフトウェアファイアウォールの多くが、htmlを使用するが使用しないメールにポイントを追加するためです。開始タグと終了タグ。


11
この主張を裏付ける証拠はありますか?
アレックス

10
私は、Gmailで「オリジナルを表示」するだけで、この数日以内にこの動作を観察しました。そこには、開始の終了タグのないメールのスパムスコアが見られました。例:X-Spam-Level:* | X-Spam-Report:スコア= 1.6テスト= HTML_MESSAGE、HTML_MIME_NO_HTML_TAG、MIME_HTML_ONLY | X-Spam-Score:1-例wiki.apache.org/spamassassin/Rules/HTML_MIME_NO_HTML_TAGを
Richard Hollis

1
私もこれを見てきましたが、一部の企業ではスパム検疫のしきい値が非常に低く、HTMLタグがないためにメールが届かない可能性があります。このページには利用可能な正確な設定がリストされていませんが、ソフトウェアがルール「HTML_MIME_NO_HTML_TAG」に関するメッセージを「HTMLのみのメッセージですが、HTMLタグがありません」というメッセージとともに残すのを見ました。techlib.barracuda.com/BSF/SpamScoring
JHS

3

正しい方法はないと思いますが、できるだけ多くのメールリーダーでメールを表示できるようにしています。

私は通常、Thunderbirdでメールをチェックしています。

Thunderbirdでは、これはメールのHTMLコードです(私はhtmlを表示する拡張機能を持っています)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body bgcolor="#ffffff" text="#000000">
        This is the body text<br>
<div class="moz-signature"><i><br>
<br>
Regards<br>
Alex<br>
</i></div>
</body>
</html>

ところで、私はできる限り毎回すべてのWebフォームにプレーンテキストの電子メールを使用しています。HTML +プレーンテキストメールを使用したブラックベリーメールで多くの問題がありました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.