繁体   English   中英

Python:imaplib如何仅获取主要电子邮件(Gmail)

[英]Python : imaplib how to get primary emails only (Gmail)

Gmail会自动将电子邮件置于三个不同的标签下:“主要”,“社交”,“促销”,当我尝试阅读具有以下代码的最新电子邮件时,它将忽略所有标签。 如何仅在“主要”标签下获取电子邮件? 我应该使用另一个文件夹名称吗?

M.select("INBOX")
v_start_date = (datetime.date.today() - datetime.timedelta(days_limit)).strftime("%d-%b-%Y")
v_result, v_mail = M.uid('search', None, '(SENTSINCE {date})'.format(date=v_start_date))

imaplib代码示例: https ://gist.github.com/robulouski/7441883

Gmail收件箱屏幕截图:

Gmail收件箱示例

如果您使用GMAIL IMAP扩展程序 ,则可以使用X-GM-RAW以gmail查询语言进行自定义搜索。 这是获取主要类别中的最近UID列表的示例:

a UID SEARCH SINCE 1-May-2018 X-GM-RAW "Category:Primary"
* SEARCH 25032 25033 25034 25035 25036
a OK SEARCH completed (Success)

这是“促销”标签:

a UID SEARCH SINCE 1-May-2018 X-GM-RAW "Category:Promotions"
* SEARCH 25026 25028 25030 25031
a OK SEARCH completed (Success)

在Python中,这可能看起来像:

m.uid('search', 'SINCE 1-May-2018 X-GM-RAW "Category:Primary"')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM