質問: Dovecot IMAPからメールの取得をしようとしてるのですが、 FETCH 8 (BODY.PEEK[1]) や FETCH 8 (BODY.PEEK[2]) とすると *11 FETCH BODY[1]・・・等で取得できるのですが、 FETCH 8 (BODY.PEEK[1.2]) とすると * 11 FETCH (BODY[1.2] NIL) となりNILがでて取得できないのですが、何か原因分かりますでしょうか? 情報が少ないと思いますので、可能性で構いませんので、何かアドバイスあればお知らせください。
回答: きちんと確認したわけではないのですが、「BODY.PEEK[1.2]」は、メッセージパートの1番と2番、という意味ではなく、「メッセージパート1番の中にあるパート2番」という意味ではないでしょうか? IMAP4のFETCHオプションの一覧 > パート番号の示すパートのボディ部のみを示す。複雑な入れ子の場合には、[1.2] などとピリオドで階層をくくって、下位階層を示すこともできる。 > > 例えば、メールに別のメールが添付されていて、その添付されたメールの中の添付ファイルを取り出す、といった時に「1.2」といった指定をするのではないのでしょうか。