示例#1
0
 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