📅  最后修改于: 2023-12-03 15:11:11.233000             🧑  作者: Mango
如果你想在使用Python发送邮件之后,检查邮件是否已经被收到,你可以使用mail.search函数。你可以使用特定的 search-criteria 参数来搜索你的邮件服务器上的邮件。其中一个常用的search-criteria参数是UNSEEN,它可以用来查找尚未读取的邮件。另一个常用的search-criteria参数是SINCE T,它可以用来查找从某一时间(T)开始收到的邮件。
以下是一个例子,展示了如何使用Python的IMAP模块来搜索你的邮件服务器上的尚未读取的从 2022 年 8 月 1 日开始的邮件,并将邮件的标题打印出来:
import imaplib
mail = imaplib.IMAP4_SSL('your.mail.server.com')
mail.login('your_username', 'your_password')
mail.select('inbox')
type, data = mail.search(None, 'UNSEEN', 'SINCE "01-AUG-2022"')
mail_ids = data[0]
id_list = mail_ids.split()
for num in id_list:
typ, data = mail.fetch(num, '(BODY[HEADER.FIELDS (SUBJECT)])')
subject = data[0][1]
print('Message %s: %s' % (num, subject.decode('utf-8')))
mail.close()
mail.logout()
首先,我们使用IMAP库与邮件服务器建立SSL连接,并使用login函数来进行身份验证。然后,我们使用select函数选择服务器中的收件箱。接下来,我们使用search函数来搜索所有从 2022 年 8 月 1 日开始的尚未读取的邮件。我们将找到的邮件ID存储在邮件列表中,并使用fetch函数获取每封邮件的标题。最后,我们将所有邮件的标题打印到控制台,并使用close和logout函数关闭连接。
这就是如何使用Python的IMAP模块来搜索你的邮件服务器上的未读取的从特定时间开始的邮件的示例。希望这可以帮助你更好地管理你的电子邮件。