从SES滥用报告电子邮件收到投诉电子邮件

时间:2017-02-17 08:59:04

标签: python amazon-web-services imap amazon-ses imaplib

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

1 个答案:

答案 0 :(得分:1)

得到解决方案,这是一个错误的错误。

而不是使用

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

我不得不使用:

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

如前所述,我通过UID搜索了易失性ID。后来我试图通过volatile id获取RFC822或邮件正文。

可能没有提供任何内容,因为邮件可能已被删除或其他内容。