django-codenerix-email 4.0.19__tar.gz → 4.0.21__tar.gz
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.
- {django-codenerix-email-4.0.19/django_codenerix_email.egg-info → django-codenerix-email-4.0.21}/PKG-INFO +1 -1
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/__init__.py +1 -1
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/forms.py +3 -0
- django-codenerix-email-4.0.21/codenerix_email/migrations/0013_emailmessage_headers.py +18 -0
- django-codenerix-email-4.0.21/codenerix_email/migrations/__pycache__/0013_emailmessage_headers.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/models.py +31 -18
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/static/codenerix_email/partials/emailmessages_rows.html +7 -9
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21/django_codenerix_email.egg-info}/PKG-INFO +1 -1
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/django_codenerix_email.egg-info/SOURCES.txt +2 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/LICENSE +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/MANIFEST.in +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/README.rst +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/admin.py +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/apps.py +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/management/__init__.py +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/management/__pycache__/__init__.cpython-310.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/management/__pycache__/__init__.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/management/__pycache__/__init__.cpython-35.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/management/__pycache__/__init__.cpython-39.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/management/commands/__init__.py +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/management/commands/__pycache__/__init__.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/management/commands/__pycache__/send_emails.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/management/commands/send_emails.py +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/management/commands/test_email.py +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/0001_initial.py +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/0002_auto_20170502_1043.py +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/0003_auto_20170921_1206.py +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/0004_auto_20171108_1628.py +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/0005_emailmessage_retries.py +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/0006_emailmessage_error.py +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/0007_emailmessage_next_retry.py +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/0008_auto_20171201_0928.py +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/0009_emailmessage_opened_emailmessage_uuid.py +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/0010_emailmessage_content_subtype_and_more.py +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/0011_alter_emailmessage_content_subtype_and_more.py +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/0012_emailmessage_unsubscribe_url.py +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__init__.py +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0001_initial.cpython-310.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0001_initial.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0001_initial.cpython-35.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0001_initial.cpython-39.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0002_auto_20170502_1043.cpython-310.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0002_auto_20170502_1043.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0002_auto_20170502_1043.cpython-35.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0002_auto_20170502_1043.cpython-39.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0003_auto_20170921_1206.cpython-310.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0003_auto_20170921_1206.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0003_auto_20170921_1206.cpython-35.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0003_auto_20170921_1206.cpython-39.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0004_auto_20171108_1628.cpython-310.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0004_auto_20171108_1628.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0004_auto_20171108_1628.cpython-35.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0004_auto_20171108_1628.cpython-39.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0005_emailmessage_retries.cpython-310.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0005_emailmessage_retries.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0005_emailmessage_retries.cpython-35.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0005_emailmessage_retries.cpython-39.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0006_emailmessage_error.cpython-310.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0006_emailmessage_error.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0006_emailmessage_error.cpython-35.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0006_emailmessage_error.cpython-39.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0007_emailmessage_next_retry.cpython-310.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0007_emailmessage_next_retry.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0007_emailmessage_next_retry.cpython-35.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0007_emailmessage_next_retry.cpython-39.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0008_auto_20171201_0928.cpython-310.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0008_auto_20171201_0928.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0008_auto_20171201_0928.cpython-35.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0008_auto_20171201_0928.cpython-39.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0009_delete_emailtemplatetexten.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0009_emailmessage_opened_emailmessage_uuid.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0010_emailmessage_content_subtype_and_more.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0010_emailmessage_opened_emailmessage_uuid_and_more.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0011_alter_emailmessage_content_subtype_and_more.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0012_emailmessage_unsubscribe_url.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/__init__.cpython-310.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/__init__.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/__init__.cpython-35.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/__init__.cpython-39.pyc +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/urls.py +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/urls_frontend.py +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/views.py +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/django_codenerix_email.egg-info/dependency_links.txt +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/django_codenerix_email.egg-info/not-zip-safe +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/django_codenerix_email.egg-info/requires.txt +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/django_codenerix_email.egg-info/top_level.txt +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/setup.cfg +0 -0
- {django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: django-codenerix-email
|
|
3
|
-
Version: 4.0.
|
|
3
|
+
Version: 4.0.21
|
|
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>
|
|
@@ -96,6 +96,7 @@ class EmailMessageForm(GenModelForm):
|
|
|
96
96
|
["eto", 3],
|
|
97
97
|
["subject", 3],
|
|
98
98
|
["opened", 3],
|
|
99
|
+
["content_subtype", 3],
|
|
99
100
|
),
|
|
100
101
|
(
|
|
101
102
|
_("System"),
|
|
@@ -106,6 +107,8 @@ class EmailMessageForm(GenModelForm):
|
|
|
106
107
|
["retries", 3],
|
|
107
108
|
["priority", 3],
|
|
108
109
|
["log", 3],
|
|
110
|
+
["unsubscribe_url", 3],
|
|
111
|
+
["headers", 3],
|
|
109
112
|
),
|
|
110
113
|
(
|
|
111
114
|
_("Body"),
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Generated by Django 5.1.2 on 2024-10-15 06:20
|
|
2
|
+
|
|
3
|
+
from django.db import migrations, models
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Migration(migrations.Migration):
|
|
7
|
+
|
|
8
|
+
dependencies = [
|
|
9
|
+
("codenerix_email", "0012_emailmessage_unsubscribe_url"),
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
operations = [
|
|
13
|
+
migrations.AddField(
|
|
14
|
+
model_name="emailmessage",
|
|
15
|
+
name="headers",
|
|
16
|
+
field=models.JSONField(blank=True, null=True, verbose_name="Headers"),
|
|
17
|
+
),
|
|
18
|
+
]
|
|
Binary file
|
|
@@ -49,6 +49,12 @@ CONTENT_SUBTYPES = (
|
|
|
49
49
|
)
|
|
50
50
|
|
|
51
51
|
|
|
52
|
+
def ensure_header(headers, key, value):
|
|
53
|
+
if key not in headers:
|
|
54
|
+
headers[key] = value
|
|
55
|
+
return headers
|
|
56
|
+
|
|
57
|
+
|
|
52
58
|
class EmailMessage(CodenerixModel, Debugger):
|
|
53
59
|
uuid = models.UUIDField(
|
|
54
60
|
_("UUID"),
|
|
@@ -95,6 +101,7 @@ class EmailMessage(CodenerixModel, Debugger):
|
|
|
95
101
|
unsubscribe_url = models.URLField(
|
|
96
102
|
_("Unsubscribe URL"), blank=True, null=True
|
|
97
103
|
)
|
|
104
|
+
headers = models.JSONField(_("Headers"), blank=True, null=True)
|
|
98
105
|
|
|
99
106
|
def __fields__(self, info):
|
|
100
107
|
fields = []
|
|
@@ -111,9 +118,9 @@ class EmailMessage(CodenerixModel, Debugger):
|
|
|
111
118
|
fields.append(("retries", _("Retries")))
|
|
112
119
|
fields.append(("next_retry", _("Next retry")))
|
|
113
120
|
fields.append(("pk", _("ID")))
|
|
114
|
-
fields.append(("content_subtype", _("Content Subtype")))
|
|
115
121
|
fields.append(("uuid", _("UUID")))
|
|
116
|
-
fields.append(("unsubscribe_url", _("Unsubscribe
|
|
122
|
+
fields.append(("unsubscribe_url", _("Unsubscribe")))
|
|
123
|
+
fields.append(("content_subtype", _("Content Subtype")))
|
|
117
124
|
return fields
|
|
118
125
|
|
|
119
126
|
def __searchQ__(self, info, search): # noqa: N802
|
|
@@ -160,21 +167,37 @@ class EmailMessage(CodenerixModel, Debugger):
|
|
|
160
167
|
"eto": (_("To"), lambda x: Q(eto__icontains=x), "input"),
|
|
161
168
|
"retries": (_("Retries"), lambda x: Q(retries=x), "input"),
|
|
162
169
|
"pk": (_("ID"), lambda x: Q(pk=x), "input"),
|
|
163
|
-
"unsubscribe_url": (
|
|
164
|
-
_("Unsubscribe URL"),
|
|
165
|
-
lambda x: Q(unsubscribe_url__icontains=x),
|
|
166
|
-
"input",
|
|
167
|
-
),
|
|
168
170
|
}
|
|
169
171
|
|
|
170
172
|
def __unicode__(self):
|
|
171
173
|
return "{} ({})".format(self.eto, self.pk)
|
|
172
174
|
|
|
175
|
+
def clean(self):
|
|
176
|
+
if not isinstance(self.headers, dict):
|
|
177
|
+
raise ValidationError(_("HEADERS must be a Dictionary"))
|
|
178
|
+
|
|
173
179
|
def set_opened(self):
|
|
174
180
|
if not self.opened:
|
|
175
181
|
self.opened = timezone.now()
|
|
176
182
|
self.save()
|
|
177
183
|
|
|
184
|
+
def get_headers(self):
|
|
185
|
+
|
|
186
|
+
# Get headers
|
|
187
|
+
headers = self.headers or {}
|
|
188
|
+
|
|
189
|
+
# Ensure unsubscribe headers
|
|
190
|
+
if self.unsubscribe_url:
|
|
191
|
+
ensure_header(
|
|
192
|
+
headers, "List-Unsubscribe", f"<{self.unsubscribe_url}>"
|
|
193
|
+
)
|
|
194
|
+
ensure_header(
|
|
195
|
+
headers, "List-Unsubscribe-Post", "List-Unsubscribe=One-Click"
|
|
196
|
+
)
|
|
197
|
+
|
|
198
|
+
# Return headers
|
|
199
|
+
return headers
|
|
200
|
+
|
|
178
201
|
@classmethod
|
|
179
202
|
def process_queue(
|
|
180
203
|
cls, connection=None, legacy=False, silent=True, debug=False
|
|
@@ -353,24 +376,14 @@ class EmailMessage(CodenerixModel, Debugger):
|
|
|
353
376
|
|
|
354
377
|
if connection:
|
|
355
378
|
|
|
356
|
-
# Prepare headers
|
|
357
|
-
headers = {}
|
|
358
|
-
|
|
359
|
-
# If unsubscribe_url is set, add List-Unsubscribe header
|
|
360
|
-
if self.unsubscribe_url:
|
|
361
|
-
headers["List-Unsubscribe"] = f"<{self.unsubscribe_url}>"
|
|
362
|
-
headers[
|
|
363
|
-
"List-Unsubscribe-Post"
|
|
364
|
-
] = "List-Unsubscribe=One-Click"
|
|
365
|
-
|
|
366
379
|
email = EM(
|
|
367
380
|
subject=self.subject,
|
|
368
381
|
body=self.body,
|
|
369
382
|
from_email=self.efrom,
|
|
370
383
|
to=[self.eto],
|
|
371
384
|
connection=connection,
|
|
385
|
+
headers=self.get_headers(),
|
|
372
386
|
)
|
|
373
|
-
email.headers = headers
|
|
374
387
|
email.content_subtype = self.content_subtype
|
|
375
388
|
for at in self.attachments.all():
|
|
376
389
|
with open(at.path) as f:
|
|
@@ -17,7 +17,13 @@
|
|
|
17
17
|
<td><center>{{row.retries|codenerix}}</center></td>
|
|
18
18
|
<td class="text-nowrap">{{row.next_retry|codenerix}}</td>
|
|
19
19
|
<td><center>{{row.pk|codenerix}}</center></td>
|
|
20
|
-
<td>
|
|
20
|
+
<td ng-click="$event.stopPropagation();" align="center">
|
|
21
|
+
<nobr><i title="{{row.uuid}}" codenerix-html-compile="row.uuid|codenerix:'copytoclipboard:UUID:UUID copiado al portapapales...'"></i></nobr>
|
|
22
|
+
</td>
|
|
23
|
+
<td ng-click="$event.stopPropagation();" align="center">
|
|
24
|
+
<i codenerix-html-compile="row.unsubscribe_url|codenerix:'link:blank:onlyicon'"></i>
|
|
25
|
+
</td>
|
|
26
|
+
<td ng-click="$event.stopPropagation();">
|
|
21
27
|
<center>
|
|
22
28
|
<button class="btn" title="{{row.content_subtype|codenerix}}">
|
|
23
29
|
<i ng-show="row.content_subtype=='plain'" class="fa fa-file-text-o" aria-hidden="true"></i>
|
|
@@ -26,11 +32,3 @@
|
|
|
26
32
|
</button>
|
|
27
33
|
</center>
|
|
28
34
|
</td>
|
|
29
|
-
<td ng-click="$event.stopPropagation();" align="center">
|
|
30
|
-
<span codenerix-html-compile="row.uuid|codenerix:'copytoclipboard:UUID:UUID copiado al portapapales...':codenerix_inner_element">
|
|
31
|
-
<span class="fa fa-barcode"></span>
|
|
32
|
-
</span>
|
|
33
|
-
</td>
|
|
34
|
-
<td ng-click="$event.stopPropagation();" align="center">
|
|
35
|
-
<span codenerix-html-compile="row.unsubscribe_url|codenerix:'link:blank:onlyicon'">
|
|
36
|
-
</td>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: django-codenerix-email
|
|
3
|
-
Version: 4.0.
|
|
3
|
+
Version: 4.0.21
|
|
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>
|
|
@@ -32,6 +32,7 @@ codenerix_email/migrations/0009_emailmessage_opened_emailmessage_uuid.py
|
|
|
32
32
|
codenerix_email/migrations/0010_emailmessage_content_subtype_and_more.py
|
|
33
33
|
codenerix_email/migrations/0011_alter_emailmessage_content_subtype_and_more.py
|
|
34
34
|
codenerix_email/migrations/0012_emailmessage_unsubscribe_url.py
|
|
35
|
+
codenerix_email/migrations/0013_emailmessage_headers.py
|
|
35
36
|
codenerix_email/migrations/__init__.py
|
|
36
37
|
codenerix_email/migrations/__pycache__/0001_initial.cpython-310.pyc
|
|
37
38
|
codenerix_email/migrations/__pycache__/0001_initial.cpython-311.pyc
|
|
@@ -71,6 +72,7 @@ codenerix_email/migrations/__pycache__/0010_emailmessage_content_subtype_and_mor
|
|
|
71
72
|
codenerix_email/migrations/__pycache__/0010_emailmessage_opened_emailmessage_uuid_and_more.cpython-311.pyc
|
|
72
73
|
codenerix_email/migrations/__pycache__/0011_alter_emailmessage_content_subtype_and_more.cpython-311.pyc
|
|
73
74
|
codenerix_email/migrations/__pycache__/0012_emailmessage_unsubscribe_url.cpython-311.pyc
|
|
75
|
+
codenerix_email/migrations/__pycache__/0013_emailmessage_headers.cpython-311.pyc
|
|
74
76
|
codenerix_email/migrations/__pycache__/__init__.cpython-310.pyc
|
|
75
77
|
codenerix_email/migrations/__pycache__/__init__.cpython-311.pyc
|
|
76
78
|
codenerix_email/migrations/__pycache__/__init__.cpython-35.pyc
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django-codenerix-email-4.0.19 → django-codenerix-email-4.0.21}/codenerix_email/urls_frontend.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|