按不同条件查找消息 IMAP.search()
Find messages by different criteria IMAP.search()
我使用 imaplib 库来处理电子邮件。如何使用 IMAP4.search()
?
搜索带有多个参数的消息
例如,查找发件人 "test@testmail.com".
发件人在特定日期后发送的主题为 "Subject" 的所有未读邮件
我有一个想法进行 'one by one' 搜索,我的意思是在前一个结果中使用下一个参数进行搜索,但是:
typ, data = con.search(None, '(UNSEEN)')
结果存储在列表中,我无法对该列表使用 search()
函数。有什么想法吗?
'UNSEEN FROM "test@testmail.com" SUBJECT "Subject" SINCE 17-may-1814'
应该是你想要的。所有这些实际上都是不区分大小写的,大写通常用于关键字但没关系。
您会在 older SO questions about this 中找到很多很多示例。
只是对 arnt 答案的一小部分补充 - 可以使用列表而不是字符串:
search_list = []
search_list += ['UNSEEN']
search_list += ['FROM', '"%s"' % sender_name]
search_list += ['SUBJECT', '"%s"' % subject]
typ, data = con.search(None, *search_list)
我使用 imaplib 库来处理电子邮件。如何使用 IMAP4.search()
?
搜索带有多个参数的消息
例如,查找发件人 "test@testmail.com".
发件人在特定日期后发送的主题为 "Subject" 的所有未读邮件
我有一个想法进行 'one by one' 搜索,我的意思是在前一个结果中使用下一个参数进行搜索,但是:
typ, data = con.search(None, '(UNSEEN)')
结果存储在列表中,我无法对该列表使用 search()
函数。有什么想法吗?
'UNSEEN FROM "test@testmail.com" SUBJECT "Subject" SINCE 17-may-1814'
应该是你想要的。所有这些实际上都是不区分大小写的,大写通常用于关键字但没关系。
您会在 older SO questions about this 中找到很多很多示例。
只是对 arnt 答案的一小部分补充 - 可以使用列表而不是字符串:
search_list = []
search_list += ['UNSEEN']
search_list += ['FROM', '"%s"' % sender_name]
search_list += ['SUBJECT', '"%s"' % subject]
typ, data = con.search(None, *search_list)