2002-09-13

「添付ファイルならば」と「テキストならば」

QMAIL内部ではあちこちでこの二つの分岐があるのですが、これが結構紛らわしいのです。なので、バイト列->メッセージオブジェクトの時に「添付ファイルならば」で分岐し、メッセージオブジェクト->バイト列の時に「テキストならば」で分岐しているという事態が発生したりして、それ自体はそれぞれの状況に合うようにそうしてあるのだけれども、一回メッセージオブジェクトに変換すると元に戻らなくなってしまうという問題が発生してしまいます。今回の、テキストの添付ファイルの転送の問題もそれ関係ですね。統一しなくてはいけないですが、どちらも今までの動作と微妙に変わってしまうところがあったりして悩みどころです。

ちなみに、「テキストならば」は、Content-Typeがないかtext/*であることを意味します。「添付ファイルならば」は、Content-Dispositionがattachmentか、Content-Typeがtext/*でないことを意味します。例えば、Content-Dispositionがinlineでも、Content-Typeがimage/gifとかだとQMAILでは表示できないので添付ファイル扱いです。

他にも、「マルチパートかどうか」というのとか、「message/rfc822かどうか」なんていうのもあって、これがなかなか。。