Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于在主题行中包含关键字的电子邮件中下载附件的python脚本_Python_Outlook_Pop3 - Fatal编程技术网

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

用于在主题行中包含关键字的电子邮件中下载附件的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(

我有上面的代码,它给出了我的电子邮件中的邮件数。我想从主题行中包含“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(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