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)