Exemple #1
0
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
Exemple #2
0
	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)