用于在主题行中包含关键字的电子邮件中下载附件的python脚本
我有上面的代码,它给出了我的电子邮件中的邮件数。我想从主题行中包含“hello”的邮件中下载附件 我所尝试的:用于在主题行中包含关键字的电子邮件中下载附件的python脚本,python,outlook,pop3,Python,Outlook,Pop3,我有上面的代码,它给出了我的电子邮件中的邮件数。我想从主题行中包含“hello”的邮件中下载附件 我所尝试的: import getpass, poplib, email, parse from poplib import POP3 user = 'rnandipati@qwerty.com' M = poplib.POP3_SSL('outlook.office365.com', '995') M.user(user) M.pass_('R7!') numMessages = len(
import getpass, poplib, email, parse
from poplib import POP3
user = 'rnandipati@qwerty.com'
M = poplib.POP3_SSL('outlook.office365.com', '995')
M.user(user)
M.pass_('R7!')
numMessages = len(M.list()[1])
print ("You have %d messages." % (numMessages))
print ("Message List:")
M.quit()
我在网上看过很多例子,真的需要帮助。我也是这方面的新手
谢谢。引用文档: POP3.retr(哪个) 检索完整的消息编号,并设置其seen标志。结果的形式是(响应,['行',…],八位字节) 因此
M.retr(mList+1)[1]
是一个行列表
您正在迭代字符串列表,这些字符串可以是unicode ou字节字符串
文档并没有详细说明您得到的字符串类型,但是,如果您使用的是Python3,我假设它是unicode字符串
因此:
msg.startswith(“Subject:”)
应该可以工作。引用文档:
POP3.retr(哪个)
检索完整的消息编号,并设置其seen标志。结果的形式是(响应,['行',…],八位字节)
因此M.retr(mList+1)[1]
是一个行列表
您正在迭代字符串列表,这些字符串可以是unicode ou字节字符串
文档并没有详细说明您得到的字符串类型,但是,如果您使用的是Python3,我假设它是unicode字符串
所以:
msg.startswith(“Subject:”)
应该可以用。@LaurentPorte我试图找到每封电子邮件的主题,但它一直说需要字节来代替字符串。请推荐一个页面,告诉我如何在主题中查找字符串,然后我可以前进。请发布您的代码和堆栈跟踪。这会打印出任何内容吗?它会打印电子邮件的数量@jknupp@LaurentLAPORTE我已经附上了我试过的东西。这段代码只是读取了我无法实现的主题行。@LaurentPorte我试图找到每封电子邮件的主题,但它一直说应该用字节代替字符串。请推荐一个页面,告诉我如何在主题中查找字符串,然后我可以前进。请发布您的代码和堆栈跟踪。这会打印出任何内容吗?它会打印电子邮件的数量@jknupp@LaurentLAPORTE我已经附上了我试过的东西。那段代码只是读取了我无法实现的主题行。我不太明白如何合并POP3.retr(其中(mList+1)[1]:
在我的代码中。你是说我应该这样做吗?对不起,你删除了你的代码样本…所以答案不符合上下文。我把它放回@LaurentPort谢谢你的帮助。我不太明白如何合并POP3.retr(哪个(mList+1)[1]:
在我的代码中。你是说我应该这样做吗?对不起,你删除了你的代码示例…因此答案与上下文无关。我将其放回@LaurentPort。无论如何,谢谢你的帮助。
for mList in range(numMessages):
for msg in M.retr(mList+1)[1]:
if msg.startswith('Subject'):
print(msg)
break