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 IMAP Extensions,您可以使用 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"')
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 IMAP Extensions,您可以使用 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"')