IMAP4サーバーからメッセージ全体を取得したいのですが。Pythonのドキュメントで、このコードが機能することがわかった場合:
>>> t, data = M.fetch('1', '(RFC822)')
>>> body = data[0][1]
data[0][1]がメッセージの本文を返すことを常に信頼できるかどうか疑問に思っています。'RFC822.SIZE'を実行すると、タプルではなく文字列だけが表示されます。
rfc1730をざっと見てみましたが、「RFC822」の適切な応答構造を理解できませんでした。また、imaplibのドキュメントからフェッチ結果の構造を判断するのも困難です。
これが私がフェッチするときに得ているものですRFC822
:
('OK', [('1 (RFC822 {858569}', 'body of the message', ')')])
しかし、フェッチするRFC822.SIZE
と、次のようになります。
('OK', ['1 (RFC822.SIZE 847403)'])
data [0]リストを適切に処理するにはどうすればよいですか?タプルのリストである場合、タプルは正確に3つの部分で構成され、2番目の部分はペイロードであると信頼できますか?
たぶんあなたはimap4のためのより良いライブラリを知っていますか?