python 用于下载主题行中包含关键字的电子邮件中的附件的脚本

python script to download attachments in email having keywords in subject line

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()

我有上面的代码,它给出了我电子邮件中的邮件数量。我想从主题行中包含 "hello" 的邮件中下载附件。

我尝试过的:

 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 或 bytes 字符串。

文档并没有过多说明您获得的是哪种类型的字符串,但是,如果您使用的是 Python 3,我假设它是 unicode 字符串。

因此:msg.startswith("Subject:") 应该可以。