gpt4 book ai didi

Python:只检索 POP3 消息文本,没有标题

转载 作者:太空狗 更新时间:2023-10-29 22:17:18 24 4
gpt4 key购买 nike

我正在尝试制作一个 Python 程序,它只检索电子邮件的正文而不传递标题或任何其他参数。我不确定该怎么做。

目标是能够通过消息文本向程序发送基本命令。

我现在拥有的是:

import poplib

host = "pop.gmail.com"
mail = poplib.POP3_SSL(host)
print mail.getwelcome()
print mail.user("user")
print mail.pass_("pass")
print mail.stat()
print mail.list()
print ""

if mail.stat()[1] > 0:
print "You have new mail."
else:
print "No new mail."

print ""

numMessages = len(mail.list()[1])
for i in range(numMessages):
for j in mail.retr(i+1)[1]:
print j

mail.quit()
input("Press any key to continue.")

这一切都很好,除了执行“print J”时它会打印整个消息,包括标题。我只想提取正文文本,不要产生任何额外的垃圾。

有人可以帮忙吗?谢谢!

最佳答案

我会使用 email 模块通过跳过标题信息的 get_payload() 方法获取电子邮件正文。

我在你的代码中添加了几行(它们在行尾标有# new statement)

import poplib
import email # new statement

host = "pop.gmail.com"
mail = poplib.POP3_SSL(host)
print mail.getwelcome()
print mail.user("user")
print mail.pass_("pass")
print mail.stat()
print mail.list()
print ""

if mail.stat()[1] > 0:
print "You have new mail."
else:
print "No new mail."

print ""

numMessages = len(mail.list()[1])
for i in range(numMessages):
for j in mail.retr(i+1)[1]:
#print j
msg = email.message_from_string(j) # new statement
print(msg.get_payload()) # new statement

mail.quit()
input("Press any key to continue.")

关于Python:只检索 POP3 消息文本,没有标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2218066/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com