web-dev-qa-db-ja.com

JavaScriptは電子メールメッセージでサポートされていますか?

JavaScriptは電子メールメッセージでサポートされていますか?

118
senthil

http://en.wikipedia.org/wiki/Comparison_of_e-mail_clients

Lotus Notes、Mozilla Thunderbird、Outlook Express、Windows Live Mailなどの古いクライアントはすべて、何らかのJavaScript実行をサポートしているようです。他に何もしません。

セキュリティに関しては悪い考えのように思えるので、これらのクライアントでさえ、常に存在するとは限らない機能になると期待しています。

40
MatthewMartin

他の回答者は、答えは「いいえ」であると示唆しています。

一方、html添付ファイルは、おそらくJavaScriptを実行する環境で開かれます。

編集:私は質問に適切に答えていないことが示唆されたので、ここでより完全な努力をします。

概要:組み込みJavascriptを含むhtml形式の電子メールを受信する多くのまたはほとんどのユーザーは、それが実行されるのを確認し、一部の環境でこれが正しいことを確認するためのテストを実行します。ただし、Javascriptは一部のユーザーに対してブロックされます。

プロトコル(具体的にはRFC2854)は、次のステートメントを使用して(text/htmlメッセージ本文タイプ内で)スクリプトを明示的に処理します。

さらに、HTML 4.0でのスクリプト言語とインタラクティブ機能の導入により、送信者によって作成されたが受信者によって解釈されるプログラムの自動実行に関連する多くのセキュリティリスクが導入されました。そのようなスクリプトまたはプログラムを実行するユーザーエージェントは、信頼できないソフトウェアが保護された環境で実行されることを保証するために、非常に注意しなければなりません。

プロトコルはJavascriptをサポートしていますが、どのユーザーエージェントがサポートしていますか?

私の(古代の)電子メールリーダーは、テーブルを使用して、各MIMEタイプに使用するビューアソフトウェアを指定し、HTMLコンテンツをお気に入りのWebブラウザに転送します。現在のほとんどすべてのWebブラウザーはJavascriptをサポートしています(そして、それをオフにしようとするといくつかの深刻な警告が出ます!)最新の電子メールエージェントには内部htmlインタープリターが含まれていますか? Thunderbirdのドキュメントを確認したところ、javascriptはデフォルトで有効になっているようですが、無効にできることがわかりました。 http://codeverge.com/mozilla.support.Thunderbird/simple-html-tags-reference- docume/203016

一部の(多くの?)ユーザーは、個別のメールソフトウェアを実行するのではなく、ブラウザからメールに直接アクセスすることに気付きました(ウェブメールはそのようなプラットフォームの1つです)。これまでにテストしたすべてのプラットフォームは、電子メールメッセージのhtmlに埋め込まれたJavascriptを実行します。ただし、このような環境では、ユーザーのセキュリティ設定に応じて、外部リンク(Javascriptまたは画像など)を自動的にフェッチしないため、メッセージの添付ファイルとして含まれているファイルからのみ外部Javascriptを実行できます。同じことが、現在のインターネット接続のないデバイス上のオフライン電子メールリーダーにも当てはまります。

上記は、電子メール本文のメインメッセージ部分に埋め込まれたJavaScriptに適用されます。また、HTMLを「添付ファイル」として明示的に指定することもできます。これを保存してから開くと、Webブラウザーに表示され、Javascriptが非常に高い確率で利用可能になります。そのため、JavaScriptが有効な電子メールの2番目のコピーを、ユーザーを添付ファイルに誘導するメインのtext/htmlに代替のtext/plain本体またはタグを持つHTML添付ファイルとして含めることができます。

私の知り合いの何人かは、テキストメッセージで構成される「メールグリーティングカード」を送信することを強く要求しているため、私はこれについて考えてきました。 。インタラクティブなグラフィックスと音楽、さらには埋め込みJavaScriptを使用したゲームを含むメールグリーティングカードを作成して送信し、結果に満足しています。

したがって、プロトコルがスクリプトを具体的に扱うという理由と、私が個人的に使用するすべてのメールエージェントがテストメールでJavascriptを実行したという理由の両方で、正解は「はい」であると主張します。

16
Robert Morewood

いいえ、一般的に言えば、電子メールリーダーはjavascriptを許可しません。

14
jsight

サーバーとメールクライアントに実行可能なJavaScriptを取得するつもりはありません。ただし、メールはリンクをサポートしているため、メール内のコンテンツにいつでもリンクできます。

4
Sam152

ほとんどのメールクライアントでは、いいえ。

3
Mervyn

それはあるかもしれませんが、メールクライアントはそれを読まないし、メールサーバーはそれを拒否するかもしれません。そのままにしておきます。

2
Ed B

簡潔な答え

いいえ


説明的な答え

それは異なります。ただし、電子メールは、希望どおりに動作することが保証されていません。異なる電子メールクライアントはJSを異なる方法で処理します。新しい電子メールクライアントのほとんどは、個人情報の多くを含むデスクトップアプリケーションでスクリプトの実行をサポートすることは潜在的に非常に危険であるため、いずれもサポートしていません。

メールでJSを使用する必要があるユースケースがありました。 OutlookのWebクライアントとデスクトップクライアントでも試してみましたが、OutlookはHTMLメールのスクリプト部分を消去するだけです。 JSの実行をサポートする他のメールクライアントがあるかもしれませんが、クライアントマシンでメールを表示するクライアントを制御できない場合、HTMLメールにスクリプトを埋め込むことはお勧めできません。

HTMLメールをできるだけシンプルに、JSを使用せずに、できる限り最小限のCSSを使用することをお勧めします(繰り返しますが、さまざまなメールクライアントはCSSもさまざまにサポートしているため)。 OutlookのWebクライアントは、電子メール内のHTMLボタンタグも認識していませんでした。ボタンの表示を模倣するには、アンカータグとその上のCSSを使用する必要がありました。


結論-HTMLメールコンテンツを操作するときにJavascriptに依存しないでください。

2
Ketan R

Javascriptはメールでサポートされていません。

1
Neil Knight

JavaScriptを含むあらゆる種類のメッセージを電子メールで送信できるため、答えはイエスです。

電子メール内でJavaScriptを実行しようとするアプリケーションを見つけるかどうかは、別の問題です。

0