質問: teratailから送信される各種通知メールがHTMLタグそのものがむき出しのテキストとして表示されてしまいます。 原因はおそらくメールヘッダやボディがRFCに厳密に準拠していないか、エンコードが正しくないのだと思われます。 受信環境はWin7のThunderbird(バージョンに関係なく常に)です。 メール本文は =?ISO-2022-JP?B?GyRCJF4kNyQ/GyhC?= から始まり、 メールヘッダと本文のHTMLがタグ丸出しでつらつらと表示されます。 全てのメールがこうなるわけではなく、種類(件名)によってこうなるものが 決まっているようです。 私が最近確認した範囲では、 「あなたのクリップした質問に回答があり」 というタイトルのメールは毎回必ずHTMLタグ丸出しになります。 これを防いで普通にHTMLメールとして表示されるにはどうしたらいいでしょうか? ベストなのはteratailさん側の方でRFC仕様に準拠した正しいメールヘッダとボディを組み立て、 正しいエンコードでメール送信をしてもらうのが一番いいのでしょうけれども、 長年放置されている=修正する気が全く無さそうなので・・・。
回答: 質問者から提供されたサンプル ``` =?ISO-2022-JP?B?GyRCJF4kNyQ/GyhC?= ``` をデコードしてみると、ISO-2022-JPのB符号化された「ました」という文字列であることがわかります。メールの件名で長いものを折り返した後のほうの部分と思われます。 ところで私はteratailから、件名が「ました」で終わるメッセージをたくさん受け取っています。しかし、それらの件名がISO-2022-JPのB符号化されていたことはありません (UTF-8のQ符号化です。これ自体は問題ありません)。また、長い件名であっても折り返されていたことがありません (これはMIMEやRFC5322に非準拠なので感心しませんが、本題とは関係ないです)。 とはいっても、私の初ログインはほんの1週間前なので、以前からこうだったという確証はありませんが。 ただひょっとすると、質問者さんが受け取ったものは、teratailが送信したものそのままではなく、質問者さんのメールボックスまで配送される途中のどこかで、なんらかの変換をされているのかもしれません。だとすると、その変換に不備があり、ヘッダの途中に余分な改行が入るなどのデータ破損が起きている可能性があります。 配送途中で経由するメールサーバの管理者に問い合わせてみてはどうでしょうか。 すでに自己解決されたかもしれませんが、せっかく「メール」のタグがついていますので、そっち方面の回答にしてみました。