python 电子邮件的 IMAP 内容包含一个字符串
python IMAP content of email contains a string
我可以使用 python IMAP
登录 gmail 帐户
imap = imaplib.IMAP4_SSL('imap.gmail.com')
imap.login(myDict["emailUsername"], myDict["emailPassword"])
imap.select(mailbox='inbox', readonly=False)
resp, items = imap.search(None, 'All')
email_ids = items[0].split()
latest_email_id = email_ids[-1]
resp, data = imap.fetch(latest_email_id, "(UID)")
print ("resp= ", resp, " data=", data)
#msg_uid = parse_uid(data[0])
match = pattern_uid.match(data[0].decode("utf-8"))
#print ("match= ", match)
msg_uid = match.group('uid')
我需要确保我收到的最后一封电子邮件的 UID 包含特定字符串 (XYZ)。我不是在寻找 header 主题,而是在寻找电子邮件的内容。我该怎么做?
您可以选择以下几种方式:
获取消息并遍历文本正文部分以查找您的字符串 -- 例如
通过在 UID SEARCH 命令中向服务器提供 'latest_email_id' 和您的搜索条件,让服务器进行搜索。对于 Gmail,您甚至可以使用 X-GM-RAW 属性来使用 GMail Web 界面支持的相同语法。有关详细信息,请参阅 https://developers.google.com/gmail/imap/imap-extensions。
我可以使用 python IMAP
登录 gmail 帐户imap = imaplib.IMAP4_SSL('imap.gmail.com')
imap.login(myDict["emailUsername"], myDict["emailPassword"])
imap.select(mailbox='inbox', readonly=False)
resp, items = imap.search(None, 'All')
email_ids = items[0].split()
latest_email_id = email_ids[-1]
resp, data = imap.fetch(latest_email_id, "(UID)")
print ("resp= ", resp, " data=", data)
#msg_uid = parse_uid(data[0])
match = pattern_uid.match(data[0].decode("utf-8"))
#print ("match= ", match)
msg_uid = match.group('uid')
我需要确保我收到的最后一封电子邮件的 UID 包含特定字符串 (XYZ)。我不是在寻找 header 主题,而是在寻找电子邮件的内容。我该怎么做?
您可以选择以下几种方式:
获取消息并遍历文本正文部分以查找您的字符串 -- 例如
通过在 UID SEARCH 命令中向服务器提供 'latest_email_id' 和您的搜索条件,让服务器进行搜索。对于 Gmail,您甚至可以使用 X-GM-RAW 属性来使用 GMail Web 界面支持的相同语法。有关详细信息,请参阅 https://developers.google.com/gmail/imap/imap-extensions。