def extractSpambayesID(self, data): msg = email.message_from_string(data, _class=message.SBHeaderMessage) # The nicest MUA is one that forwards the header intact. id = msg.get(options["Headers", "mailid_header_name"]) if id is not None: return id # Some MUAs will put it in the body somewhere, while others will # put it in an attached MIME message. id = self._find_id_in_text(msg.as_string()) if id is not None: return id # the message might be encoded for part in textparts(msg): # Decode, or take it as-is if decoding fails. try: text = part.get_payload(decode=True) except: text = part.get_payload(decode=False) if text is not None: text = try_to_repair_damaged_base64(text) if text is not None: id = self._find_id_in_text(text) return id return None
def extractSpambayesID(self, data): msg = email.message_from_string(data, _class=message.SBHeaderMessage) id = msg.get(options["Headers", "mailid_header_name"]) if id is not None: return id id = self._find_id_in_text(msg.as_string()) if id is not None: return id for part in textparts(msg): try: text = part.get_payload(decode=True) except: text = part.get_payload(decode=False) if text is not None: text = try_to_repair_damaged_base64(text) if text is not None: id = self._find_id_in_text(text) return id return None