django-codenerix-email 4.0.38__py2.py3-none-any.whl → 4.0.39__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- __version__ = "4.0.38"
1
+ __version__ = "4.0.39"
2
2
 
3
3
  __authors__ = [
4
4
  "Juan Miguel Taboada Godoy <juanmi@juanmitaboada.com>",
@@ -80,6 +80,9 @@ class Command(BaseCommand):
80
80
  IMAP_EMAIL_PASSWORD = "your_password"
81
81
  IMAP_EMAIL_SSL = True # (default: True)
82
82
  IMAP_EMAIL_INBOX_FOLDER = "INBOX" # (default: "INBOX")
83
+ IMAP_EMAIL_SELECTOR = "UNSEEN" # (default: "UNSEEN")
84
+ IMAP_EMAIL_SEEN = True # (default: True)
85
+ IMAP_EMAIL_DELETE = False # (default: False)
83
86
  IMAP_EMAIL_FILTERS = {
84
87
  "SUBJECT": [r".*"],
85
88
  "FROM": [r".*"],
@@ -291,7 +294,9 @@ class Command(BaseCommand):
291
294
 
292
295
  else:
293
296
  # Search by UNSEEN
294
- messages_ids = server.search(["UNSEEN"])
297
+ messages_ids = server.search(
298
+ [getattr(settings, "IMAP_EMAIL_SELECTOR", "UNSEEN")]
299
+ )
295
300
  if self.verbose:
296
301
  self.stdout.write(
297
302
  self.style.SUCCESS(
@@ -440,8 +445,22 @@ class Command(BaseCommand):
440
445
  f"(FILTER: {filter_reason})"
441
446
  )
442
447
  )
443
- # Mark the message as read to avoid reprocessing
444
- server.add_flags(imap_id, [b"\\Seen"])
448
+
449
+ if getattr(settings, "IMAP_EMAIL_DELETE", False):
450
+ # Delete the message from the server
451
+ server.delete_messages(imap_id)
452
+ server.expunge()
453
+ if self.verbose:
454
+ self.stdout.write(
455
+ self.style.SUCCESS(
456
+ f"Deleted email with IMAP ID: {imap_id}"
457
+ )
458
+ )
459
+
460
+ elif getattr(settings, "IMAP_EMAIL_SEEN", True):
461
+ # Mark the message as read to avoid reprocessing
462
+ server.add_flags(imap_id, [b"\\Seen"])
463
+
445
464
  continue
446
465
 
447
466
  # Create EmailReceived object if doesn't exist
@@ -513,9 +532,19 @@ class Command(BaseCommand):
513
532
  )
514
533
  )
515
534
 
516
- # Mark the message as read
517
- # (flag \Seen) avoid reprocessing
518
- server.add_flags(imap_id, [b"\\Seen"])
535
+ if getattr(settings, "IMAP_EMAIL_DELETE", False):
536
+ # Delete the message from the server
537
+ server.delete_messages(imap_id)
538
+ server.expunge()
539
+ if self.verbose:
540
+ self.stdout.write(
541
+ self.style.SUCCESS(
542
+ f"Deleted email with IMAP ID: {imap_id}"
543
+ )
544
+ )
545
+ elif getattr(settings, "IMAP_EMAIL_SEEN", True):
546
+ # Mark the message as read otherwise (to avoid reprocessing)
547
+ server.add_flags(imap_id, [b"\\Seen"])
519
548
 
520
549
  return (created_count, overwrite_count)
521
550
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: django-codenerix-email
3
- Version: 4.0.38
3
+ Version: 4.0.39
4
4
  Summary: Codenerix Email is a module that enables CODENERIX to set send emails in a general manner.
5
5
  Home-page: https://github.com/codenerix/django-codenerix-email
6
6
  Author: Juan Miguel Taboada Godoy <juanmi@juanmitaboada.com>, Juan Soler Ruiz <soleronline@gmail.com>
@@ -1,4 +1,4 @@
1
- codenerix_email/__init__.py,sha256=d3ZDJ3aRhP_spoILto0bxpnTTieGJNC9i6wvMu6LSDo,149
1
+ codenerix_email/__init__.py,sha256=jy3doviOd16K4l2OxN9UBbjhtzx2zjQmwaHgbqXosnw,149
2
2
  codenerix_email/admin.py,sha256=w259UKFk_opGEl6PJjYHXWAHQ_8emgqmiixKT5Rid4A,1180
3
3
  codenerix_email/apps.py,sha256=WXqu1XQibDDyCvvQYt2JbTK4GIpW8BNv5DCbRJS2mmk,149
4
4
  codenerix_email/forms.py,sha256=38byLGxg1MOLAY1kAYChxYZj64tSgyfRvDcSbIOdV0I,5521
@@ -827,8 +827,8 @@ codenerix_email/.mypy_cache/3.10/zoneinfo/_common.data.json,sha256=e4xbNKL_yQ5h5
827
827
  codenerix_email/.mypy_cache/3.10/zoneinfo/_common.meta.json,sha256=5K19XWobpSjKwiv7bZFZRcxsEfoh7b-FhYcmqB-2Iic,1737
828
828
  codenerix_email/.mypy_cache/3.10/zoneinfo/_tzpath.data.json,sha256=CFx7Q1XfUhhuNX69prkxyirG8rfvEDCNgEHWQigKC_A,5632
829
829
  codenerix_email/.mypy_cache/3.10/zoneinfo/_tzpath.meta.json,sha256=d1HJ_xFBI1orlZSVhH0gHWLI-dJG3zY-ZOlctOl62yU,1765
830
- codenerix_email/__pycache__/__init__.cpython-310.pyc,sha256=X9LGnGfm6qTbAvEiyenE8Z40jbxj4g1kfeoRKITsWik,313
831
- codenerix_email/__pycache__/__init__.cpython-311.pyc,sha256=JEmf6oZE-e3TUb2xe1Zbe_XjVsq1vfS5qIuNUfdakRc,337
830
+ codenerix_email/__pycache__/__init__.cpython-310.pyc,sha256=jR8Y-ZqrC_AzgwY3EjpVl3TOkhtTgWepEoei20YfoQw,313
831
+ codenerix_email/__pycache__/__init__.cpython-311.pyc,sha256=VHHEae6bOdMZRv4BoHz1g5HaZMN7_WmD3aXcpvu2mAY,337
832
832
  codenerix_email/__pycache__/__init__.cpython-35.pyc,sha256=dl9lYAgrokJptUj3JAhiqTlX7d_CbncOxZeTc1USc88,308
833
833
  codenerix_email/__pycache__/__init__.cpython-37.pyc,sha256=5d1CeFU5DrfnwrRpvSw1bHvLN9hoHXjUA3ln3rXCDo8,306
834
834
  codenerix_email/__pycache__/__init__.cpython-39.pyc,sha256=0c6KWU_eOTlF5l9fNWv8l41b0LcfVQNUsqDvJTv2YyU,300
@@ -868,7 +868,7 @@ codenerix_email/management/__pycache__/__init__.cpython-35.pyc,sha256=sBoEWs6zdI
868
868
  codenerix_email/management/__pycache__/__init__.cpython-39.pyc,sha256=uPXklfliVd3b8pLOJQT9ZeKcqmJMrGychvt68BsPulY,168
869
869
  codenerix_email/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
870
870
  codenerix_email/management/commands/email_test.py,sha256=SPsiq0s48sEX_G3piNHq-c1gDOH800H2zTvM19ei2LY,5605
871
- codenerix_email/management/commands/emails_recv.py,sha256=fDFGJZqQBGAK4jZGFITzIXZCFdMvB35nwuXmJ40XMA4,34448
871
+ codenerix_email/management/commands/emails_recv.py,sha256=4QfIQ2M97T4Y3o7BR1d4nA8UF8bqe81wCMUpiooSzxs,35872
872
872
  codenerix_email/management/commands/emails_send.py,sha256=scCFklro4WVMYm-1ataSjUMsPT-Ie5u_DdA55CQcTCQ,7944
873
873
  codenerix_email/management/commands/recv_emails.py,sha256=aXmhdXlamiNxRpMIDSKBXUBhkOcwi5l_Pme7jSQUCME,273
874
874
  codenerix_email/management/commands/send_emails.py,sha256=a1MnpvZKAEFdXNfmI5oFUkVxy4PZ1AjaJS6GH90zeD0,273
@@ -1687,8 +1687,8 @@ codenerix_email/migrations/__pycache__/__init__.cpython-35.pyc,sha256=2g70xiMW6o
1687
1687
  codenerix_email/migrations/__pycache__/__init__.cpython-39.pyc,sha256=qNj2NH0YvoWPnCKxkVZPsEFsbM05y7t1njMskNISdVQ,168
1688
1688
  codenerix_email/static/codenerix_email/emailmessages_rows.html,sha256=NyZpKPSHAAIywJX2ncS0H2bkqOVtMUwAdbYmkC4dKmk,2202
1689
1689
  codenerix_email/static/codenerix_email/emailreceiveds_rows.html,sha256=u9DXVdzKhx9WlJgcK_cT2DfGp9bGIKTBn3LDQplB4g4,2032
1690
- django_codenerix_email-4.0.38.dist-info/LICENSE,sha256=IXMIpi75XsrJt1Sznt4EftT9c_4X0C9eqK4tHhH8H48,11339
1691
- django_codenerix_email-4.0.38.dist-info/METADATA,sha256=a7ZWYCckl3ouPLkC7uN1-LuUTN4Qxm0tlKiQHPSTRZY,2676
1692
- django_codenerix_email-4.0.38.dist-info/WHEEL,sha256=z9j0xAa_JmUKMpmz72K0ZGALSM_n-wQVmGbleXx2VHg,110
1693
- django_codenerix_email-4.0.38.dist-info/top_level.txt,sha256=lljSA0iKE_UBEM5gIrGQwioC_i8Jjnp-aR1LFElENgw,16
1694
- django_codenerix_email-4.0.38.dist-info/RECORD,,
1690
+ django_codenerix_email-4.0.39.dist-info/LICENSE,sha256=IXMIpi75XsrJt1Sznt4EftT9c_4X0C9eqK4tHhH8H48,11339
1691
+ django_codenerix_email-4.0.39.dist-info/METADATA,sha256=et_AOcJOU0_8V_DL_Br12lR3UkKeJEI06F1mH-A9o2k,2676
1692
+ django_codenerix_email-4.0.39.dist-info/WHEEL,sha256=z9j0xAa_JmUKMpmz72K0ZGALSM_n-wQVmGbleXx2VHg,110
1693
+ django_codenerix_email-4.0.39.dist-info/top_level.txt,sha256=lljSA0iKE_UBEM5gIrGQwioC_i8Jjnp-aR1LFElENgw,16
1694
+ django_codenerix_email-4.0.39.dist-info/RECORD,,