【问题标题】:Handling Amazon SES bounce notifications to email using python imaplib使用 python imaplib 处理 Amazon SES 退回电子邮件通知
【发布时间】:2016-06-30 13:08:11
【问题描述】:

我想从 Amazon SES 发送到我的电子邮件终端节点的邮件递送通知中检索无效电子邮件。我不知道如何为 imaplib 模块中的 imap4.search()imap4.fetch() 方法提供参数。

请帮忙

【问题讨论】:

    标签: python-2.7 amazon-ses imaplib


    【解决方案1】:

    导入 imaplib 类电子邮件处理程序:

    def __init__(self):
        self.imap_address = 'imap.gmail.com'
        self.login_id = 'example@gmail.com'
        self.password = '******'
        self.inbox = 'desired inbox'
        self.addresses = []
        self.M = imaplib.IMAP4_SSL(self.imap_address)
    
    def login(self):
        try:
            self.M.login(self.login_id, self.password)
            self.M.select(self.inbox)
        except imaplib.IMAP4.error:
            print sys.exc_info()
    
    def extract_invalid_ids(self):
        val, data = self.M.search(None, '(OR BODY "bounce" BODY "complaint")')
        if val == 'OK':
            for num in data[0].split():
                val, data = self.M.fetch(num, '(RFC822.TEXT)')
                body = data[0][1]
                body_json_string = body.split('}}')[0] + '}}'
                body_json = json.loads(body_json_string)
                self.addresses.extend(body_json['mail']['destination'])
            print self.addresses
        else:
            print val
    

    参考:http://www.isi.edu/in-notes/rfc3501.txt

    【讨论】:

      猜你喜欢
      • 2018-08-08
      • 2019-09-24
      • 2012-09-07
      • 2016-07-28
      • 2020-10-19
      • 2014-08-17
      • 2010-11-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多