diff --git a/django_mailbox/migrations/0009_auto_20210719_1121.py b/django_mailbox/migrations/0009_auto_20210719_1121.py new file mode 100644 index 0000000..4b6770b --- /dev/null +++ b/django_mailbox/migrations/0009_auto_20210719_1121.py @@ -0,0 +1,33 @@ +# Generated by Django 3.2.4 on 2021-07-19 11:21 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('django_mailbox', '0008_auto_20190219_1553'), + ] + + operations = [ + migrations.AddField( + model_name='message', + name='from_email_address', + field=models.CharField(blank=True, max_length=255, null=True, verbose_name='From email address'), + ), + migrations.AlterField( + model_name='mailbox', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'), + ), + migrations.AlterField( + model_name='message', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'), + ), + migrations.AlterField( + model_name='messageattachment', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'), + ), + ] diff --git a/django_mailbox/models.py b/django_mailbox/models.py index 0f0ac9d..e4c9eda 100644 --- a/django_mailbox/models.py +++ b/django_mailbox/models.py @@ -369,6 +369,16 @@ class Mailbox(models.Model): msg.message_id = message['message-id'][0:255].strip() if 'from' in message: msg.from_header = utils.convert_header_to_unicode(message['from']) + logger.info( + "from_header set to %s", + msg.from_header + ) + if msg.from_header: + msg.from_email_address = parseaddr(msg.from_header)[1].lower() + logger.info( + "from_email_address set to %s", + msg.from_email_address + ) if 'to' in message: msg.to_header = utils.convert_header_to_unicode(message['to']) elif 'Delivered-To' in message: @@ -460,6 +470,11 @@ class UnreadMessageManager(models.Manager): class Message(models.Model): + class Meta: + indexes = [ + models.Index(fields=['from_email_address']), + ] + mailbox = models.ForeignKey( Mailbox, related_name='messages', @@ -491,6 +506,13 @@ class Message(models.Model): max_length=255, ) + from_email_address = models.CharField( + _('From email address'), + max_length = 255, + blank=True, + null=True, + ) + to_header = models.TextField( _('To header'), )