def receive_email(msg_str): """ Given a string representation of an email message, parses it into a :class:`~kiki.message.KikiMessage`. Returns a (message, created) tuple, where ``created`` is False if the message was already in the database. """ received = datetime.now() python_msg = message_from_string(msg_str) sanitize_headers(python_msg) msg = KikiMessage.from_python_message(python_msg) msg_id = msg.extra_headers['message-id'] # If the msg_id already exists in the database, then ignore this message. created = False try: message = Message.objects.get(message_id=msg_id) except Message.DoesNotExist: message = Message(message_id=msg_id, received=received, original_message=msg_str, from_email=msg.from_email) message.set_processed(msg) message.save() created = True return message, created
def setUp(self): self.from_email = "*****@*****.**" self.to = ["*****@*****.**"] msg_str = create_test_email(self.from_email, self.to) python_msg = message_from_string(msg_str) self.msg = KikiMessage.from_python_message(python_msg)