Python搜索imap电子邮件中的字符串
python新手,在克服此问题时遇到一些困难。Python搜索imap电子邮件中的字符串,python,html,email,imaplib,Python,Html,Email,Imaplib,python新手,在克服此问题时遇到一些困难。 我通过imap从gmail收到电子邮件(起始代码来自),我想搜索一封特定的电子邮件(我可以获取)以获取特定的字符串。像这样的 ids = data[0] id_list = ids.split() ids = data[0] id_list = ids.split() latest_email_id = id_list[-1] result, data = mail.fetch(latest_email_id, "(RFC822)") raw_e
我通过imap从gmail收到电子邮件(起始代码来自),我想搜索一封特定的电子邮件(我可以获取)以获取特定的字符串。像这样的
ids = data[0]
id_list = ids.split()
ids = data[0]
id_list = ids.split()
latest_email_id = id_list[-1]
result, data = mail.fetch(latest_email_id, "(RFC822)")
raw_email = data[0][1]
def search_raw():
if 'gave' in raw_email:
done = 'yes'
else:
done = 'no'
它总是将“完成”设置为“否”。下面是电子邮件的输出(用于电子邮件的正文部分)
我知道问题出在html上,但似乎不知道如何正确解析电子邮件
谢谢大家! 上面的文本是base64编码。Python有一个名为base64的模块,可以对其进行解码
import base64
import re
def has_gave(raw_email):
email_body = base64.b64decode(raw_email)
match = re.search(r'.*gave.*', email_body , re.IGNORECASE)
if match:
done = 'yes'
print 'match found for word ', match.group()
else:
done = 'no'
print 'no match found'
return done
电子邮件的输出类型是什么?是JSON还是字符串之类的?
import base64
import re
def has_gave(raw_email):
email_body = base64.b64decode(raw_email)
match = re.search(r'.*gave.*', email_body , re.IGNORECASE)
if match:
done = 'yes'
print 'match found for word ', match.group()
else:
done = 'no'
print 'no match found'
return done