【发布时间】:2012-12-14 09:00:16
【问题描述】:
我有一些代码可以获取 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 行,在 fetch
typ, dat = self._simple_command(name, message_set, message_parts)
_simple_command
中的文件“/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/imaplib.py”,第 1113 行 return self._command_complete(name, self._command(name, *args))
_command
中的文件“/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/imaplib.py”,第 883 行 数据 = 数据 + b' ' + arg
TypeError: can't concat bytes to 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. build 5666)(点 3)]
【问题讨论】:
-
是的。消息 id 来自 x = (int(len(id_list)) - int(indexCounter))