def get_text(self): """ Generator for text from emails. :return: yields string text """ for message in self.get_mail(): text = [] for mailpart in message.mailparts: if mailpart.is_body == 'text/plain': text.append( pyzm.decode_text(mailpart.get_payload(), mailpart.charset, None)[0]) yield '\n'.join(text)
def parse(self, mail): key = self.key if not isinstance(key, list): key = [key] for k in key: for field, value in mail.items(): if not k == field: continue value, charset = decode_text(value, mail.get_charset(), None) value = self.modify(value) if self.multi: self.add(value) else: self.set(value) break
def content(self, message, encode=True): content = message.get_payload() if content is None: return '' content, self.charset = decode_text(content, message.charset, None) return content