― MozillaZine.jp フォーラムは Mozilla 製品に関する情報交換の場です ―



All times are UTC + 9 hours

新しいトピックを投稿する トピックへ返信する  [ 4 件の記事 ] 
作成者 メッセージ
 記事の件名: HTML 表示のトラブル
投稿記事Posted: 2011年11月17日(木) 17:10 
オフライン

登録日時: 2008年6月10日(火) 01:49
記事: 6
Mac OSX 10.6 で、Thunderbird 8.0 を使用しています。

html 形式と、プレーンテキスト形式を両方つけているメールで、
html とテキストの切り替えがうまくいきません。
「表示」→「メッセージの表示形式」で html を指定しても、プレーンテキストしか
表示されません。

同じようにプレーンテキスト形式を両方つけているメールでも、
HTML になったりならなかったりします。
ソースを調べてみると、どうやら、プレーンテキスト部分が先で、
その下に html パートが来ているメールでは、問題無く html/プレーンの
切り替えが正常に働きますが、逆の場合はプレーンのみ表示されるようです。

試しに、html で表示できないメールを、テキストエディタで手動で
html パートをプレーンテキストパートの下に持ってきたら、
問題無く切り替えできるようになりました。

何かのバグなのでしょうか?
よろしくお願いします。


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2011年11月18日(金) 22:46 
RFC の深いところまで知っているわけではないのですが、さしあたって記憶に残っている範囲で......。

プレーンテキスト形式と HTML 形式の両方を持つメールでは、Content-Type が multipart/alternative になっていると思います。

マルチパートなメールのうち、Content-Type が multipart/alternative で定義されるものは、各パートは同一内容で、表示条件に応じて代替的に表示するようになっています。各パートは、まずプレーンテキスト、ついで HTML というように、よりシンプルなものからより複雑な内容のものになるよう、並び順に一定のルールがあったはずです。

Thunderbird から、[テキストと HTML] の形式で送信した場合、マルチパートの順序が必ず プレーンテキスト -> HTML の順になるのは、この規格に則っているからだと思われます。

受信したメールを表示する場合は、Thunderbird は上記の順序に従い、[メッセージの表示形式] をプレーンテキストにしたときは前半のテキストパートを、HTML(オリジナル HTML またはシンプル HTML)にしたときは後半の HTML パートを、それぞれ狙い打って表示を切り替えているようです。
このため、ご質問のような現象が起こっているのではないでしょうか。

HTML 形式の表示に対応している他のメールクライアントでは、含まれるマルチパートの順序に関係なく、ユーザーが選択した表示形式で解釈できるパートを自動選択して表示するものがあるかもしれません。
このほうが柔軟性は高いですが、あらゆる受信環境での再現性を考慮すると、各パートの並び順に一定の意味を持たせておくことは重要で、それに基づく解釈で動作することは必ずしも悪いこととはいえません。

そのような観点でいえば、Thunderbird の動作は、"融通が効かない" とはいえますが、必ずしも "間違った動作" とはいえないように思えます。(調べてはいませんが、もしかしたらこのあたりのバグがたてられているかもしれませんね。)

個人的には、プレーンテキスト + HTML 両対応のメールのマルチパートの順序を、HTML -> プレーンテキストにしてくる送信側のほうに、より大きな問題があるんじゃないかと感じます。

記憶に頼った話で申し訳ありませんが、とりあえず以上です。間違ったことを書いてたらすみません。


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2011年11月19日(土) 12:35 
オフライン

登録日時: 2008年6月10日(火) 01:49
記事: 6
なるほど、わかりやすい解説ありがとうございました。
プレーンテキスト→HTML という順序が基本というルールがメールの
世界にあって、それを逆にしたメールを送信するほうが悪いということ
ですね。確かに一理あります。そういう困ったメールでも
正しく表示できるようソフト側で融通を利かせてもいいようにも
思いますが、バグというわけではないのですね。

ちなみに順序を逆にして送ってくるメールというのは、
楽天トラベルの予約確認メールです。気づいて対応してくれると
いいですが、、、

ありがとうございました。


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2011年11月19日(土) 13:42 
偶然的通行人 さんが書きました:
受信したメールを表示する場合は、Thunderbird は上記の順序に従い、[メッセージの表示形式] をプレーンテキストにしたときは前半のテキストパートを、HTML(オリジナル HTML またはシンプル HTML)にしたときは後半の HTML パートを、それぞれ狙い打って表示を切り替えているようです。
このため、ご質問のような現象が起こっているのではないでしょうか。

各パートにはContent-Typeが付いているんだから、それを見ないで順番決めうちで表示するなんてバグでしょう。


通報する
ページトップ
  
引用付きで返信する  
期間内表示:  ソート  
新しいトピックを投稿する トピックへ返信する  [ 4 件の記事 ] 

All times are UTC + 9 hours


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[42人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
Powered by MozillaZine.jp® Forum Software © phpBB Group , Almsamim WYSIWYG
Japanese translation principally by ocean