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:")
应该可以。
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:")
应该可以。