python脚本下载附件在主题行中有关键字的附件
问题描述:
import getpass, poplib, email, parse
from poplib import POP3
user = '[email protected]'
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()
我有上面的代码给出了我的电子邮件中的邮件数量。我想从主题行中有“hello”的消息中下载附件。python脚本下载附件在主题行中有关键字的附件
我曾尝试:
for mList in range(numMessages):
for msg in M.retr(mList+1)[1]:
if msg.startswith('Subject'):
print(msg)
break
我已经在很多的例子在网上看了,真的需要这方面的帮助。我也是这种脚本的新手。
谢谢。
答
引用文档:
POP3.retr(which)
Retrieve whole message number which, and set its seen flag. Result is in form (response, ['line', ...], octets).
所以M.retr(mList+1)[1]
是行的列表。
您正在迭代一个字符串列表,它可以是unicode或字节字符串。
该文档没有多说你得到哪种类型的字符串,但是,如果你使用的是Python 3,我假设它是unicode字符串。
因此:msg.startswith("Subject:")
应该工作。
@LaurentLAPORTE我试图找到每封电子邮件的主题,但它一直说预期的字节代替字符串。请建议一个页面,告诉我如何在主题中查找字符串,然后我可以向前移动。 – qwerty
请发布您的代码和堆栈跟踪。 –
是否打印出来了? – jknupp