Python Poplib错误

Python Poplib错误,python,email,poplib,Python,Email,Poplib,这是密码 import poplib from email import parser pop_conn = poplib.POP3_SSL('pop.gmail.com') pop_conn.user('user@gmail.com') pop_conn.pass_('password') messages = [pop_conn.retr(i) for i in range(1, len(pop_conn.list()[1]) + 1)] messages = ["\n".join(mss

这是密码

import poplib
from email import parser

pop_conn = poplib.POP3_SSL('pop.gmail.com')
pop_conn.user('user@gmail.com')
pop_conn.pass_('password')
messages = [pop_conn.retr(i) for i in range(1, len(pop_conn.list()[1]) + 1)]
messages = ["\n".join(mssg[1]) for mssg in messages]
messages = [parser.Parser().parsestr(mssg) for mssg in messages]
for message in messages:
    print(message)
当它到达第8行时(
messages=[“\n”.join(mssg[1]),用于消息中的mssg]

上面说:

TypeError: sequence item 0: expected str instance, bytes found

有人知道我做错了什么吗?

使用以下命令将字节对象转换为字符串:


它仍然列出了大量的信息,我怎样才能让它列出最近的信息呢content@JacobCorrigon,将
1
范围(1,len(pop_-conn.list()[1])+1)更改为
,这样它就不会检索到所有消息。@例如,
1
->
max(1,len(pop_-conn.list()[1])-10+1)
获取最多10封最近的邮件。这会给我邮件的全部内容吗?@JacobCorrigon,它将检索最近(或最旧,不确定)的10封电子邮件。
messages = ["\n".join(m.decode() for m in mssg[1]) for mssg in messages]