2

メールクライアントでHTMLメールをブロックするとどうなりますか?

  1. メールからHTMLコンテンツを削除しますか?
  2. MIMEコンテンツ内の代替テキスト部分を探しますか?

Outlook 2010を試してみたところ、HTMLコンテンツが削除され、テキストのみが表示されました。テキストコンテンツが見つからなかったためか、Outlookがテキストコンテンツの検索を停止してHTMLを削除したためか、わかりません。

以下は私のコードの抜粋です、

//HTML Version
BodyPart htmlBodyPart = new MimeBodyPart();
htmlBodyPart.setContent(htmlContent, "text/html");

//Text Version
BodyPart textBodyPart = new MimeBodyPart();
textBodyPart.setContent(textContent, "text/plain");

Multipart multipart = new MimeMultipart("alternative");
multipart.addBodyPart(textBodyPart); //add text part
multipart.addBodyPart(htmlBodyPart); //add html part

そして驚くべきことに、Googleはこれについて私を助けてくれませんでした。

4

2 に答える 2

2

Outlookはtext/plainの代替を使用していないようで、メッセージをプレーンテキストとして表示するように構成されている場合、プレーンテキストに変換されたtext/html部分を使用します。

次のリンクでその動作の確認を見つけました。

他の(ほとんど?)電子メールクライアント、たとえばThunderbirdは、メッセージをテキストとして表示するように構成されている場合、テキスト/プレーンの代替を表示します。しかし、Outlookが(text / html部分を使用して)行うことはバグではないようです-ウィキペディアのMIMEから:

その後、システムは処理可能な「最良の」表現を選択できます。一般に、これはシステムが理解できる最後の部分になりますが、他の要因がこれに影響を与える可能性があります。

どうやら、同じウィキペディアのページからスパムとして分類されないように、HTMLバージョンとTEXTバージョンの両方で同様のコンテンツを含めることもお勧めします。

スパム対策ソフトウェアは最終的にこのトリックに追いつき、マルチパート/代替メッセージ内の非常に異なるテキストでメッセージにペナルティを科しました。

したがって、text/html部分のコンテンツをテキストに変換してtext/plain部分を作成することをお勧めします。

  • 電子メールをテキストとして表示するように構成されたすべての電子メールクライアントは、電子メールの内容を同じように表示します
  • 内容が異なる部分があるため、スパムとして分類される可能性は高くなりません。
于 2013-04-08T14:30:37.673 に答える
0

最近のほとんどのブラウザは、テキスト/プレーンの代替手段を使用してHTMLなしでメールを表示します(したがって、メールのプレーンテキストバージョンに切り替わります。それが利用できない場合は、HTMLを削除して、テキストのみを表示します。または、つまり、htmlを解析して使用しないでください。それに加えて、htmlを削除できないメールクライアントを見つけて、生のhtmlコードを表示するだけでよいと確信しています。

于 2013-04-10T11:49:12.913 に答える