Пример #1
0
 def _store_message(self, mail_message):
     receiver_name, receiver_address = parseaddr(mail_message.to)
     account = Account.get_by_email(receiver_address)
     if not account or account.valid_until < datetime.now():
         return
     sender_name, sender_address = parseaddr(mail_message.sender)
     body = mail_message.body.decode() if hasattr(mail_message, 'body') else None
     html = clean_html(mail_message.html.decode()) if hasattr(mail_message, 'html') else None
     db_message = Message(
         parent=account.key,
         sender_name=sender_name,
         sender_address=sender_address,
         receiver_name=receiver_name,
         receiver_address=receiver_address,
         reply_to=getattr(mail_message, 'reply_to', None),
         cc=getattr(mail_message, 'cc', None),
         bcc=getattr(mail_message, 'bcc', None),
         subject=getattr(mail_message, 'subject', None),
         date=datetime.now(),
         body=body,
         html=html
     )
     db_message.put()
     self._store_attachments(mail_message, db_message)