所以我正在研究使用正则表达式从电子邮件中搜索内容的方法,该电子邮件是通过imaplib模块获取的。现在,即使使用了str()
函数,我也无法正常工作。
result, data = mail.fetch(x, '(RFC822)')
eemail = email.message_from_bytes(data[0][1])
print(str(eemail))
尝试对其进行正则表达式:
print(re.search("button", eemail))
即使在将电子邮件设为字符串对象之后,正则表达式也无法匹配我。
答案 0 :(得分:0)
这是我使用的:
import imaplib
import email
import re
mail = imaplib.IMAP4_SSL(SMTP_SERVER, SMTP_PORT)
mail.login(FROM_EMAIL,FROM_PWD)
mail.select('inbox')
status, response = mail.search(None, '(UNSEEN)')
unread_msg_nums = response[0].split()
for e_id in unread_msg_nums:
_, response = mail.fetch(e_id, '(UID BODY[TEXT])')
b = email.message_from_string(response[0][1])
if b.is_multipart():
for payload in b.get_payload(decode=True):
print(re.search("button", payload.get_payload(decode=True)))
else:
print(re.search("button", b.get_payload(decode=True)))