我正在使用 imaplib(python) 登录到 gmail 收件箱并搜索适当的消息。
但是当我打印这些消息时,消息正文中的链接似乎被破坏了。
随机附加“3D”。
问问题
456 次
2 回答
2
“3D”是“=”的十六进制编码。所以问题是您没有正确解码电子邮件,这可以使用 python 的email
模块和message.get_payload(decode=True)
.
这是一个简短的片段:
import imaplib, email
imap_server = "imap.aol.com" #maybe this would be imap.gmail.com for gmail?
conn = imaplib.IMAP4_SSL(imap_server, 993)
conn.login(username, password)
conn.select()
resp, data = conn.uid('FETCH', '1:*' , '(RFC822)')
raw = data[0][1].strip()
message = email.message_from_string(raw)
decoded = message.get_payload(decode=True) #this will be the decoded body of the email message
于 2014-03-22T03:59:44.583 回答
-1
试用收件箱
因为imaplib
是一个非常多的低级库并返回难以处理的结果
安装
pip install imbox
用法
from imbox import Imbox
with Imbox('imap.gmail.com',
username='username',
password='password',
ssl=True,
ssl_context=None,
starttls=False) as imbox:
all_inbox_messages = imbox.messages()
for uid, message in all_inbox_messages:
message.sent_from
message.sent_to
message.subject
message.headers
message.message_id
message.date
message.body.plain
message.body.html
message.attachments
于 2018-09-30T21:07:06.730 回答