たつまろ さんが書きました:
■質問
Thundrbirdでメールを受信しているのですが、添付ファイルが消えているようです。
メールをiphoneでも受信できるように設定しているのですが、
iphoneにて受信したメールを確認すると添付ファイルがついていますが、
Thunderbirdにて受信したメールでは添付ファイルがついていません。
「添付ファイルが消えている」のではなくて、
そもそも、メールのデータ構造には「添付ファイル」なるものは存在せず、
Thunderbirdは、それに関しては規則通りに表示しないが、
iPhoneのメーラーやWebメールだと、正しくないメールのデータ構造であっても、multipart/alternativeの下の一部のパートを、あたかも「添付ファイル」であるかのごとく見せている、
ということだと思います。
ちゃんとしたメーラーではなく、multipart/mixed、multipart/related、multipart/alternative、などの違いなんて知らない・気にもかけないお粗末なプログラマーによって書かれたメールアプリケーションやWebアプリケーションが、multipart/xxxのデータ構造の中の不適切な場所に「添付ファイル」として送りたいデータを置いた、というのが、多くの場合の原因です。
こういった問題が多く報告されて、
multipart/relatedの下でHTMLが参照していない、使われないパートに関しては、
そのデータをファイルに保存できるようにするために、正規の「添付ファイル」と同様に、Thunderbirdも表示しています。
しかし、multipart/alternativeに関しては、
multipart/alternativeの下の各パートの定義は、全く同じ内容物の異なる表現(HTMLとtext、というような)、ですから、
Thunderbirdの仕様は、multipart/alternativeの下のパートの一つだけを選択して表示する、
であって、これは変更されていません。
Thunderbirdにおいてmultipart/alternativeの下のパートで表示に使えるものはtext/htmlとtext/plainなどだけだから、multipart/alternativeの下のパートでtext/xxxではないものは、「添付ファイル」として表示して欲しい、という要望は、すでに出ています。
あまりにも多くのお粗末なプログラマーが存在してそういったメールを多く作り出すので、正常に表示されないデータをファイルに保存できるようにするための手段を提供してほしい、という要望があって、それで作られた機能が「show_all_body_parts」です。
設定エディタ(Config Editor、知らなけれ自分でグーグル検索してください)
mailnews.display.show_all_body_parts_menu : false ⇒ true
に変えると、
View/Message Body As(表示/メッセージ、かな)に、HTMLやテキストに加え、「All Body Parts」が出てきます。
これを選択すると、全てのmultipart/xxxをmultipart/mixedとして解釈して表示するので、
multipart/alternativeの下の不正な場所に置かれたパートや、multipart/relatedの下の不正な場所に置かれたパートなどが、
multipart/mixedの下におかれた、正規の「添付ファイル」として表示されます。
まずは、この機能で確認してみましょう。
後は、メッセージのソースを見て、どのような構造になっているかを調べればいい。
multipart/mixed,related,alternativeなどに関しては、自分でグーグル検索してください。