我正在使用python Imaplib来搜索zoho收件箱以获取退回的电子邮件。从SES发送的电子邮件失败。
现在,在尝试从滥用举报通知中收到电子邮件时,电子邮件正文未提供结果(无)
守则是:
def ss():
yesterday = (datetime.today() - timedelta(days=30)).strftime('%d-%b-%Y')
M = imaplib.IMAP4_SSL('imap.zoho.com')
M.login('email', password)
M.select()
line = '(FROM "complaints@us-west-2.email-abuse.amazonses.com" SINCE {0})'.format(yesterday)
typ, data = M.uid('search', line)
# print(typ,data)
for i in reversed(data[0].split()):
print(i)
result, data = M.fetch(i, "(RFC822)")
print(data)
通常M.fetch(i,"(RFC822)")会返回电子邮件的正文。
此处数据为无。我想知道如何获取正确的内容,以便我可以使用正则表达式来获取相关的邮件ID
答案 0 :(得分:1)
得到解决方案,这是一个错误的错误。
而不是使用
result, data = M.fetch(i, "(RFC822)")
我不得不使用:
result, data = M.uid('fetch', i, '(RFC822)')
如前所述,我通过UID搜索了易失性ID。后来我试图通过volatile id获取RFC822或邮件正文。
可能没有提供任何内容,因为邮件可能已被删除或其他内容。