【问题标题】:Getting complaint email from SES abuse report email从 SES 滥用报告电子邮件中获取投诉电子邮件
【发布时间】:2017-07-06 17:16:56
【问题描述】:

我正在使用 python Imaplib 抓取 zoho 收件箱,以获取从 SES 发送的退回电子邮件和失败的电子邮件。

现在在尝试从滥用报告通知中获取电子邮件时,电子邮件正文没有给出任何结果 (NONE)

代码是:

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

【问题讨论】:

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


    【解决方案1】:

    找到解决方案,这是一个严重的错误。

    而不是使用

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

    我不得不使用:

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

    和以前一样,我通过 UID 搜索而不是 volatile id。后来我试图通过 volatile id 获取 RFC822 或邮件正文。

    它可能没有提供任何信息,因为邮件可能已被删除或其他原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多