从SES滥用报告电子邮件中获取投诉电子邮件



我正在使用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

有解决方案,这是一个坏错误。

而不是使用

result, data = M.fetch(i, "(RFC822)")

我必须使用:

result, data = M.uid('fetch', i, '(RFC822)')

像以前一样,我已经通过UID搜索了挥发性ID。然后,我试图通过挥发性ID获取RFC822或邮件正文。

也许没有给它,因为邮件可能已被删除或其他内容。

最新更新