IMAP メールをフェッチし、Python 2 で完全に機能するコードがいくつかあります。Python3 では、次のエラーが発生します。
トレースバック (最後の最後の呼び出し):
ファイル "./mail.py"、295 行目、
item=return_message(x)
ファイル "./mail.py"、122 行、return_message の
結果、データ = mail.fetch(message_id 、"(RFC822)")
ファイル "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/imaplib.py"、460 行目、フェッチの
typ で、dat = self._simple_command(name, message_set, message_parts)
ファイル "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/imaplib.py"、1113 行
目、_simple_command で self._command_complete(name, self._command(name, *args)) を返す
ファイル "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/imaplib.py",_command の 883 行目
データ = データ + b' ' + arg
TypeError: バイトを int に連結できません
return_message 関数のコード:
result, data = mail.fetch(message_id, "(RFC822)")
raw_email = data[0][1]
email_message = email.message_from_string(raw_email)
ランタイム情報:
3.3.0 (v3.3.0:bd8afb90ebf2、2012 年 9 月 29 日、01:25:11)
[GCC 4.2.1 (Apple Inc. ビルド 5666) (ドット 3)]