django-codenerix-email 4.0.32__py2.py3-none-any.whl → 4.0.34__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.
- codenerix_email/__init__.py +1 -1
- codenerix_email/__pycache__/__init__.cpython-310.pyc +0 -0
- codenerix_email/__pycache__/__init__.cpython-311.pyc +0 -0
- codenerix_email/management/commands/__pycache__/recv_emails.cpython-311.pyc +0 -0
- codenerix_email/management/commands/recv_emails.py +33 -25
- codenerix_email/models.py +0 -1
- {django_codenerix_email-4.0.32.dist-info → django_codenerix_email-4.0.34.dist-info}/METADATA +1 -1
- {django_codenerix_email-4.0.32.dist-info → django_codenerix_email-4.0.34.dist-info}/RECORD +11 -10
- {django_codenerix_email-4.0.32.dist-info → django_codenerix_email-4.0.34.dist-info}/LICENSE +0 -0
- {django_codenerix_email-4.0.32.dist-info → django_codenerix_email-4.0.34.dist-info}/WHEEL +0 -0
- {django_codenerix_email-4.0.32.dist-info → django_codenerix_email-4.0.34.dist-info}/top_level.txt +0 -0
codenerix_email/__init__.py
CHANGED
|
Binary file
|
|
Binary file
|
|
@@ -57,7 +57,8 @@ class Command(BaseCommand):
|
|
|
57
57
|
|
|
58
58
|
def handle(self, *args, **options):
|
|
59
59
|
# Get configuration
|
|
60
|
-
self.
|
|
60
|
+
self.silent = options["silent"]
|
|
61
|
+
self.verbose = not self.silent
|
|
61
62
|
self.imap_id = options.get("imap_id")
|
|
62
63
|
self.message_id = options.get("message_id")
|
|
63
64
|
self.tracking_id = options.get("tracking_id")
|
|
@@ -70,45 +71,52 @@ class Command(BaseCommand):
|
|
|
70
71
|
self.style.SUCCESS("Starting IMAP email synchronization...")
|
|
71
72
|
)
|
|
72
73
|
|
|
74
|
+
# Get configuration from settings
|
|
75
|
+
host = getattr(settings, "IMAP_EMAIL_HOST", None)
|
|
76
|
+
port = getattr(settings, "IMAP_EMAIL_PORT", 993)
|
|
77
|
+
user = getattr(settings, "IMAP_EMAIL_USER", None)
|
|
78
|
+
password = getattr(settings, "IMAP_EMAIL_PASSWORD", None)
|
|
79
|
+
ssl = getattr(settings, "IMAP_EMAIL_SSL", True)
|
|
80
|
+
folder = getattr(settings, "IMAP_EMAIL_INBOX_FOLDER", "INBOX")
|
|
81
|
+
|
|
73
82
|
# Verify that IMAP settings are configured
|
|
74
|
-
if
|
|
83
|
+
if host is not None and port:
|
|
84
|
+
# Validate configuration
|
|
85
|
+
if user is None or password is None:
|
|
86
|
+
if self.silent:
|
|
87
|
+
return
|
|
88
|
+
else:
|
|
89
|
+
raise CommandError(
|
|
90
|
+
"IMAP user or password not configured. Please set "
|
|
91
|
+
"IMAP_EMAIL_USER and IMAP_EMAIL_PASSWORD in settings."
|
|
92
|
+
)
|
|
93
|
+
|
|
75
94
|
try:
|
|
76
95
|
# Connect to the IMAP server
|
|
77
|
-
server = IMAPClient(
|
|
78
|
-
settings.IMAP_EMAIL_HOST,
|
|
79
|
-
port=settings.IMAP_EMAIL_PORT,
|
|
80
|
-
ssl=settings.IMAP_EMAIL_SSL,
|
|
81
|
-
)
|
|
96
|
+
server = IMAPClient(host, port=port, ssl=ssl)
|
|
82
97
|
except Exception as e:
|
|
83
98
|
raise CommandError(
|
|
84
99
|
f"Failed to connect to IMAP server ("
|
|
85
|
-
f"host=
|
|
86
|
-
f"port=
|
|
87
|
-
f"ssl={
|
|
100
|
+
f"{host=}, "
|
|
101
|
+
f"{port=}, "
|
|
102
|
+
f"ssl={ssl and 'yes' or 'no'}"
|
|
88
103
|
f"): {e}"
|
|
89
104
|
) from e
|
|
90
105
|
|
|
91
106
|
try:
|
|
92
107
|
# Login and select the inbox
|
|
93
108
|
try:
|
|
94
|
-
server.login(
|
|
95
|
-
settings.IMAP_EMAIL_USER, settings.IMAP_EMAIL_PASSWORD
|
|
96
|
-
)
|
|
109
|
+
server.login(user, password)
|
|
97
110
|
except LoginError as e:
|
|
98
111
|
raise CommandError(
|
|
99
|
-
f"Failed to login to IMAP server with user "
|
|
100
|
-
f"'{settings.IMAP_EMAIL_USER}': {e}"
|
|
112
|
+
f"Failed to login to IMAP server with {user=}: {e}"
|
|
101
113
|
) from e
|
|
102
114
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
raise CommandError(
|
|
109
|
-
f"Failed to select inbox folder "
|
|
110
|
-
f"'{settings.IMAP_EMAIL_INBOX_FOLDER}'"
|
|
111
|
-
)
|
|
115
|
+
if folder:
|
|
116
|
+
try:
|
|
117
|
+
server.select_folder(folder, readonly=False)
|
|
118
|
+
except imaplib.IMAP4.error:
|
|
119
|
+
raise CommandError(f"Failed to select inbox {folder=}")
|
|
112
120
|
|
|
113
121
|
# Process emails
|
|
114
122
|
(created_count, overwritten_count) = self.process(server)
|
|
@@ -139,7 +147,7 @@ class Command(BaseCommand):
|
|
|
139
147
|
except Exception:
|
|
140
148
|
pass
|
|
141
149
|
|
|
142
|
-
|
|
150
|
+
elif self.verbose:
|
|
143
151
|
raise CommandError(
|
|
144
152
|
"IMAP settings not configured. Please set IMAP_EMAIL_HOST "
|
|
145
153
|
"and IMAP_EMAIL_PORT in settings."
|
codenerix_email/models.py
CHANGED
{django_codenerix_email-4.0.32.dist-info → django_codenerix_email-4.0.34.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: django-codenerix-email
|
|
3
|
-
Version: 4.0.
|
|
3
|
+
Version: 4.0.34
|
|
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,8 +1,8 @@
|
|
|
1
|
-
codenerix_email/__init__.py,sha256=
|
|
1
|
+
codenerix_email/__init__.py,sha256=HH59UAZLhBDP5AXqL4Aq8XjZWDrU2O9cXS0bWrI2FP4,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
|
|
5
|
-
codenerix_email/models.py,sha256=
|
|
5
|
+
codenerix_email/models.py,sha256=Yl_TyYe4PLSVYr3_3GW6JbdhItZRbiSXPhHW5ZSH06Q,25708
|
|
6
6
|
codenerix_email/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
7
|
codenerix_email/test_settings.py,sha256=A9WT-2MMuqvW5Mrd3lkmjrf0xJZmJl3McOEeyJug1Xc,633
|
|
8
8
|
codenerix_email/urls.py,sha256=M760qDSVV3EoY9aIPdnk8DtUv5tyWO-FQWdody4KTeM,3996
|
|
@@ -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=
|
|
831
|
-
codenerix_email/__pycache__/__init__.cpython-311.pyc,sha256=
|
|
830
|
+
codenerix_email/__pycache__/__init__.cpython-310.pyc,sha256=k1lbJmd6AzPiOFX5CRq4PIwZW8vbA-YZBbSFW9LT9ZI,313
|
|
831
|
+
codenerix_email/__pycache__/__init__.cpython-311.pyc,sha256=AOATmmotNvoV4tjzklJFH1L5O36W1TIZp-vuczwanmA,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
|
|
@@ -867,7 +867,7 @@ codenerix_email/management/__pycache__/__init__.cpython-311.pyc,sha256=OtPcxwWjt
|
|
|
867
867
|
codenerix_email/management/__pycache__/__init__.cpython-35.pyc,sha256=sBoEWs6zdI0al-7t1deW9SE_Ln2RNDl2LyIiOO9gfRA,160
|
|
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
|
-
codenerix_email/management/commands/recv_emails.py,sha256=
|
|
870
|
+
codenerix_email/management/commands/recv_emails.py,sha256=RsUfv5s0XMReQ1Y0LjfLp-LJ4F7nFX2z_T1-QAAWcYY,24897
|
|
871
871
|
codenerix_email/management/commands/send_emails.py,sha256=hotzGEkuDILwKgZgHFOaSCeAZDIyoPcM7VDs3Z-5Vvg,7950
|
|
872
872
|
codenerix_email/management/commands/test_email.py,sha256=1WtVkSuq9Doy8W2uyCTevdSrVrAdztvwWjcNJhCsIlE,5612
|
|
873
873
|
codenerix_email/management/commands/.mypy_cache/.gitignore,sha256=amnaZw0RUw038PDP3HvtMLeOpkNOJPenMgi5guKdMiw,34
|
|
@@ -1610,6 +1610,7 @@ codenerix_email/management/commands/.mypy_cache/3.10/zoneinfo/_tzpath.meta.json,
|
|
|
1610
1610
|
codenerix_email/management/commands/__pycache__/__init__.cpython-310.pyc,sha256=3-VfdLuaiBIg4KTIy7GETYTt2-AbfCU0vlH6fFZx7_M,189
|
|
1611
1611
|
codenerix_email/management/commands/__pycache__/__init__.cpython-311.pyc,sha256=yiqmtIhQMYXWx7g7XT-mvQNgGu_X2ymasWvVxIqPsBE,211
|
|
1612
1612
|
codenerix_email/management/commands/__pycache__/recv_emails.cpython-310.pyc,sha256=qzj8puxw6pRAz_ptltybySs2mybOwdoZ8LB7Fw8YMGc,9897
|
|
1613
|
+
codenerix_email/management/commands/__pycache__/recv_emails.cpython-311.pyc,sha256=LBMH_iYJ9A60KPpUpDzfW_RZgRRdm-aklGpdDPp36TI,20952
|
|
1613
1614
|
codenerix_email/management/commands/__pycache__/send_emails.cpython-311.pyc,sha256=xh2ontFVtLWHZOoVf1YJrNbBNPtIyV2KQEk5Bf6mY_c,6884
|
|
1614
1615
|
codenerix_email/management/commands/__pycache__/test_email.cpython-310.pyc,sha256=5X7qBWFWs7AsNgTo1DyQE0zi5gtLxiFIcwdnboZIUSg,3154
|
|
1615
1616
|
codenerix_email/migrations/0001_initial.py,sha256=bu1RU_FLeGKBjAXvOPHLUj2Ej9Ibns9PvE1CTVJf6qU,5816
|
|
@@ -1679,8 +1680,8 @@ codenerix_email/migrations/__pycache__/__init__.cpython-35.pyc,sha256=2g70xiMW6o
|
|
|
1679
1680
|
codenerix_email/migrations/__pycache__/__init__.cpython-39.pyc,sha256=qNj2NH0YvoWPnCKxkVZPsEFsbM05y7t1njMskNISdVQ,168
|
|
1680
1681
|
codenerix_email/static/codenerix_email/emailmessages_rows.html,sha256=NyZpKPSHAAIywJX2ncS0H2bkqOVtMUwAdbYmkC4dKmk,2202
|
|
1681
1682
|
codenerix_email/static/codenerix_email/emailreceiveds_rows.html,sha256=k7-Qe7Y9mrKRJXl69aVe5hHUvGdyrLbMoh9gkpyCG2U,1976
|
|
1682
|
-
django_codenerix_email-4.0.
|
|
1683
|
-
django_codenerix_email-4.0.
|
|
1684
|
-
django_codenerix_email-4.0.
|
|
1685
|
-
django_codenerix_email-4.0.
|
|
1686
|
-
django_codenerix_email-4.0.
|
|
1683
|
+
django_codenerix_email-4.0.34.dist-info/LICENSE,sha256=IXMIpi75XsrJt1Sznt4EftT9c_4X0C9eqK4tHhH8H48,11339
|
|
1684
|
+
django_codenerix_email-4.0.34.dist-info/METADATA,sha256=G8OP3M3XLLHfmF6teKzcW_ITufCtR9SnPWmfOgIzjcM,2676
|
|
1685
|
+
django_codenerix_email-4.0.34.dist-info/WHEEL,sha256=z9j0xAa_JmUKMpmz72K0ZGALSM_n-wQVmGbleXx2VHg,110
|
|
1686
|
+
django_codenerix_email-4.0.34.dist-info/top_level.txt,sha256=lljSA0iKE_UBEM5gIrGQwioC_i8Jjnp-aR1LFElENgw,16
|
|
1687
|
+
django_codenerix_email-4.0.34.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
{django_codenerix_email-4.0.32.dist-info → django_codenerix_email-4.0.34.dist-info}/top_level.txt
RENAMED
|
File without changes
|