1
0
Fork 1
mirror of https://github.com/coddingtonbear/django-mailbox.git synced 2026-07-10 06:48:19 +02:00

adds unique constrain to the message id and a bit of a change on how to create a message

This commit is contained in:
Joe 2021-02-06 21:23:49 -05:00
parent 1f018e9bdc
commit 83ee3bc4be
4 changed files with 33 additions and 29 deletions

View file

@ -352,7 +352,7 @@ class Mailbox(models.Model):
return new
def _process_message(self, message):
msg = Message()
msg = Message(message_id=message["message-id"][0:255].strip())
msg._email_object = message
settings = utils.get_settings()
@ -361,16 +361,21 @@ class Mailbox(models.Model):
msg.mailbox = self
if "subject" in message:
msg.subject = utils.convert_header_to_unicode(message["subject"])[0:255]
if "message-id" in message:
msg.message_id = message["message-id"][0:255].strip()
# ~ if "message-id" in message:
# ~ msg.message_id = message["message-id"][0:255].strip()
if "from" in message:
msg.from_header = utils.convert_header_to_unicode(message["from"])
if "to" in message:
msg.to_header = utils.convert_header_to_unicode(message["to"])
elif "Delivered-To" in message:
msg.to_header = utils.convert_header_to_unicode(message["Delivered-To"])
msg.save()
message = self._get_dehydrated_message(message, msg)
try:
msg.save()
message = self._get_dehydrated_message(message, msg)
except django.db.utils.IntegrityError:
logger.warning("Already loaded")
return None
try:
body = message.as_string()
except KeyError as exc:
@ -467,7 +472,7 @@ class Message(models.Model):
subject = models.CharField(_("Subject"), max_length=255)
message_id = models.CharField(_("Message ID"), max_length=255)
message_id = models.CharField(_("Message ID"), max_length=255,blank=None,null=None,unique=True)
in_reply_to = models.ForeignKey(
"django_mailbox.Message",