我在开发python应用程序时遇到了一个奇怪的问题。
应用程序应解析未读消息的邮件收件箱,获取特定消息,处理正文并将其存储到数据库中。
我的前7封邮件似乎一切正常,但是使用最后一封和4封@gmails,结果与预期的不匹配,存储在数据库中的邮件不是&#39 ;正确的,事实上,它们正好是正确之后的第4封邮件。
我正在展示我开发的代码,对我来说太难了,我是一个新编码:
主要的.py
from src_pckg import reader
reader.read("***@m***p.com", "***", "imap.***.com", 993, "noreply@s***d.com")
reader.py
def read(username, password, host, port, sender_of_interest):
#Con details
imap_con = imaplib.IMAP4_SSL(host, port)
imap_con.login(username, password)
imap_con.select("INBOX")
#Print all unread messages from a certain sender
status, response = imap_con.search(None, 'UNSEEN', '(FROM "%s")' % (sender_of_interest))
unread_msg_nums = response[0].split()
print(len(unread_msg_nums))
for e_id in unread_msg_nums:
status, data = imap_con.uid('fetch', e_id, '(RFC822)')
msg = data[0][1].decode(encoding='UTF-8')
if re.search("has given you a gift subscription", msg):
#Process the mail
return True