django-codenerix-email 4.0.42__py2.py3-none-any.whl → 4.0.44__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.42"
1
+ __version__ = "4.0.44"
2
2
 
3
3
  __authors__ = [
4
4
  "Juan Miguel Taboada Godoy <juanmi@juanmitaboada.com>",
@@ -8,7 +8,7 @@ msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: PACKAGE VERSION\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2025-09-26 06:19+0200\n"
11
+ "POT-Creation-Date: 2025-11-04 06:03+0100\n"
12
12
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,97 +17,91 @@ msgstr ""
17
17
  "Content-Type: text/plain; charset=UTF-8\n"
18
18
  "Content-Transfer-Encoding: 8bit\n"
19
19
 
20
- #: codenerix_email/forms.py:42 codenerix_email/forms.py:62
21
- #: codenerix_email/forms.py:78 codenerix_email/forms.py:95
22
- #: codenerix_email/forms.py:151
20
+ #: codenerix_email/forms.py:43 codenerix_email/forms.py:63
21
+ #: codenerix_email/forms.py:79 codenerix_email/forms.py:96
22
+ #: codenerix_email/forms.py:159
23
23
  msgid "Details"
24
24
  msgstr ""
25
25
 
26
- #: codenerix_email/forms.py:107 codenerix_email/forms.py:165
26
+ #: codenerix_email/forms.py:107 codenerix_email/forms.py:173
27
27
  msgid "System"
28
28
  msgstr ""
29
29
 
30
- #: codenerix_email/forms.py:119 codenerix_email/forms.py:171
31
- #: codenerix_email/models.py:84 codenerix_email/models.py:745
32
- #: codenerix_email/models.py:750
30
+ #: codenerix_email/forms.py:118
31
+ msgid "Status"
32
+ msgstr ""
33
+
34
+ #: codenerix_email/forms.py:127 codenerix_email/forms.py:179
35
+ #: codenerix_email/models.py:84 codenerix_email/models.py:735
36
+ #: codenerix_email/models.py:740
33
37
  msgid "Body"
34
38
  msgstr ""
35
39
 
36
- #: codenerix_email/models.py:50
40
+ #: codenerix_email/models.py:48
37
41
  msgid "Plain"
38
42
  msgstr ""
39
43
 
40
- #: codenerix_email/models.py:51
44
+ #: codenerix_email/models.py:49
41
45
  msgid "HTML Web"
42
46
  msgstr ""
43
47
 
44
- #: codenerix_email/models.py:57 codenerix_email/models.py:642
48
+ #: codenerix_email/models.py:55 codenerix_email/models.py:632
45
49
  msgid "Soft"
46
50
  msgstr ""
47
51
 
48
- #: codenerix_email/models.py:58 codenerix_email/models.py:643
52
+ #: codenerix_email/models.py:56 codenerix_email/models.py:633
49
53
  msgid "Hard"
50
54
  msgstr ""
51
55
 
52
- #: codenerix_email/models.py:72 codenerix_email/models.py:133
53
- #: codenerix_email/models.py:171 codenerix_email/views.py:221
54
- #: codenerix_email/views.py:248
56
+ #: codenerix_email/models.py:72 codenerix_email/models.py:162
57
+ #: codenerix_email/models.py:200
55
58
  msgid "UUID"
56
59
  msgstr ""
57
60
 
58
- #: codenerix_email/models.py:79 codenerix_email/models.py:580
59
- #: codenerix_email/models.py:615 codenerix_email/models.py:631
60
- #: codenerix_email/models.py:669 codenerix_email/models.py:683
61
- #: codenerix_email/views.py:135
61
+ #: codenerix_email/models.py:79 codenerix_email/models.py:570
62
+ #: codenerix_email/models.py:605 codenerix_email/models.py:621
63
+ #: codenerix_email/models.py:659 codenerix_email/models.py:673
64
+ #: codenerix_email/views.py:130
62
65
  msgid "From"
63
66
  msgstr ""
64
67
 
65
- #: codenerix_email/models.py:80 codenerix_email/models.py:128
66
- #: codenerix_email/models.py:179 codenerix_email/models.py:581
67
- #: codenerix_email/models.py:616 codenerix_email/models.py:632
68
- #: codenerix_email/views.py:213 codenerix_email/views.py:256
68
+ #: codenerix_email/models.py:80 codenerix_email/models.py:156
69
+ #: codenerix_email/models.py:207 codenerix_email/models.py:571
70
+ #: codenerix_email/models.py:606 codenerix_email/models.py:622
69
71
  msgid "To"
70
72
  msgstr ""
71
73
 
72
- #: codenerix_email/models.py:82 codenerix_email/models.py:129
73
- #: codenerix_email/models.py:583 codenerix_email/models.py:617
74
- #: codenerix_email/models.py:744 codenerix_email/models.py:749
75
- #: codenerix_email/views.py:139 codenerix_email/views.py:214
74
+ #: codenerix_email/models.py:82 codenerix_email/models.py:157
75
+ #: codenerix_email/models.py:573 codenerix_email/models.py:607
76
+ #: codenerix_email/models.py:734 codenerix_email/models.py:739
77
+ #: codenerix_email/views.py:134
76
78
  msgid "Subject"
77
79
  msgstr ""
78
80
 
79
- #: codenerix_email/models.py:86 codenerix_email/models.py:123
80
- #: codenerix_email/models.py:172 codenerix_email/views.py:208
81
- #: codenerix_email/views.py:249
81
+ #: codenerix_email/models.py:86 codenerix_email/models.py:151
82
82
  msgid "Priority"
83
83
  msgstr ""
84
84
 
85
- #: codenerix_email/models.py:89 codenerix_email/models.py:165
86
- #: codenerix_email/views.py:182 codenerix_email/views.py:242
87
- #: codenerix_email/views.py:324
85
+ #: codenerix_email/models.py:89 codenerix_email/models.py:194
86
+ #: codenerix_email/views.py:177 codenerix_email/views.py:239
88
87
  msgid "Sending"
89
88
  msgstr ""
90
89
 
91
- #: codenerix_email/models.py:92 codenerix_email/models.py:163
92
- #: codenerix_email/models.py:170 codenerix_email/views.py:183
93
- #: codenerix_email/views.py:240 codenerix_email/views.py:247
94
- #: codenerix_email/views.py:325
90
+ #: codenerix_email/models.py:92 codenerix_email/models.py:192
91
+ #: codenerix_email/models.py:199 codenerix_email/views.py:178
92
+ #: codenerix_email/views.py:240
95
93
  msgid "Sent"
96
94
  msgstr ""
97
95
 
98
- #: codenerix_email/models.py:95 codenerix_email/models.py:166
99
- #: codenerix_email/views.py:243
96
+ #: codenerix_email/models.py:95 codenerix_email/models.py:195
100
97
  msgid "Error"
101
98
  msgstr ""
102
99
 
103
- #: codenerix_email/models.py:98 codenerix_email/models.py:130
104
- #: codenerix_email/models.py:180 codenerix_email/views.py:218
105
- #: codenerix_email/views.py:257
100
+ #: codenerix_email/models.py:98 codenerix_email/models.py:159
106
101
  msgid "Retries"
107
102
  msgstr ""
108
103
 
109
- #: codenerix_email/models.py:100 codenerix_email/models.py:131
110
- #: codenerix_email/views.py:219
104
+ #: codenerix_email/models.py:100 codenerix_email/models.py:160
111
105
  msgid "Next retry"
112
106
  msgstr ""
113
107
 
@@ -115,15 +109,14 @@ msgstr ""
115
109
  msgid "Log"
116
110
  msgstr ""
117
111
 
118
- #: codenerix_email/models.py:103 codenerix_email/models.py:126
119
- #: codenerix_email/models.py:174 codenerix_email/views.py:211
120
- #: codenerix_email/views.py:251
112
+ #: codenerix_email/models.py:103 codenerix_email/models.py:154
113
+ #: codenerix_email/models.py:202
121
114
  msgid "Opened"
122
115
  msgstr ""
123
116
 
124
- #: codenerix_email/models.py:106 codenerix_email/models.py:135
125
- #: codenerix_email/models.py:671 codenerix_email/models.py:684
126
- #: codenerix_email/views.py:145 codenerix_email/views.py:223
117
+ #: codenerix_email/models.py:106 codenerix_email/models.py:164
118
+ #: codenerix_email/models.py:661 codenerix_email/models.py:674
119
+ #: codenerix_email/views.py:140
127
120
  msgid "Content Subtype"
128
121
  msgstr ""
129
122
 
@@ -131,160 +124,157 @@ msgstr ""
131
124
  msgid "Unsubscribe URL"
132
125
  msgstr ""
133
126
 
134
- #: codenerix_email/models.py:116 codenerix_email/models.py:585
127
+ #: codenerix_email/models.py:116 codenerix_email/models.py:575
135
128
  msgid "Headers"
136
129
  msgstr ""
137
130
 
138
- #: codenerix_email/models.py:122 codenerix_email/views.py:207
131
+ #: codenerix_email/models.py:118
132
+ msgid "Soft bounces"
133
+ msgstr ""
134
+
135
+ #: codenerix_email/models.py:121
136
+ msgid "Hard bounces"
137
+ msgstr ""
138
+
139
+ #: codenerix_email/models.py:124
140
+ msgid "Total bounces"
141
+ msgstr ""
142
+
143
+ #: codenerix_email/models.py:150
139
144
  msgid "Send"
140
145
  msgstr ""
141
146
 
142
- #: codenerix_email/models.py:124 codenerix_email/views.py:209
147
+ #: codenerix_email/models.py:152
143
148
  msgid "Created"
144
149
  msgstr ""
145
150
 
146
- #: codenerix_email/models.py:125 codenerix_email/views.py:210
151
+ #: codenerix_email/models.py:153
147
152
  msgid "Updated"
148
153
  msgstr ""
149
154
 
150
- #: codenerix_email/models.py:132 codenerix_email/models.py:181
151
- #: codenerix_email/views.py:220 codenerix_email/views.py:258
155
+ #: codenerix_email/models.py:158
156
+ msgid "Bounces"
157
+ msgstr ""
158
+
159
+ #: codenerix_email/models.py:161 codenerix_email/models.py:208
152
160
  msgid "ID"
153
161
  msgstr ""
154
162
 
155
- #: codenerix_email/models.py:134 codenerix_email/views.py:222
163
+ #: codenerix_email/models.py:163
156
164
  msgid "Unsubscribe"
157
165
  msgstr ""
158
166
 
159
- #: codenerix_email/models.py:164 codenerix_email/views.py:241
167
+ #: codenerix_email/models.py:193
160
168
  msgid "Pending"
161
169
  msgstr ""
162
170
 
163
- #: codenerix_email/models.py:176 codenerix_email/views.py:253
171
+ #: codenerix_email/models.py:204
164
172
  msgid "Yes"
165
173
  msgstr ""
166
174
 
167
- #: codenerix_email/models.py:176 codenerix_email/views.py:253
175
+ #: codenerix_email/models.py:204
168
176
  msgid "No"
169
177
  msgstr ""
170
178
 
171
- #: codenerix_email/models.py:201
179
+ #: codenerix_email/models.py:216
172
180
  msgid "HEADERS must be a Dictionary"
173
181
  msgstr ""
174
182
 
175
- #: codenerix_email/models.py:391
176
- msgid ""
177
- "Programming ERROR: You are using content_subtype, this value has been "
178
- "DEPRECATED and will be remove in future versions."
179
- msgstr ""
180
-
181
- #: codenerix_email/models.py:554 codenerix_email/models.py:564
183
+ #: codenerix_email/models.py:544 codenerix_email/models.py:554
182
184
  msgid "Filename"
183
185
  msgstr ""
184
186
 
185
- #: codenerix_email/models.py:557 codenerix_email/models.py:565
187
+ #: codenerix_email/models.py:547 codenerix_email/models.py:555
186
188
  msgid "Mimetype"
187
189
  msgstr ""
188
190
 
189
- #: codenerix_email/models.py:559 codenerix_email/models.py:566
191
+ #: codenerix_email/models.py:549 codenerix_email/models.py:556
190
192
  msgid "Path"
191
193
  msgstr ""
192
194
 
193
- #: codenerix_email/models.py:563
195
+ #: codenerix_email/models.py:553
194
196
  msgid "Email"
195
197
  msgstr ""
196
198
 
197
- #: codenerix_email/models.py:572 codenerix_email/models.py:620
199
+ #: codenerix_email/models.py:562 codenerix_email/models.py:610
198
200
  msgid "IMAP ID"
199
201
  msgstr ""
200
202
 
201
- #: codenerix_email/models.py:575
203
+ #: codenerix_email/models.py:565
202
204
  msgid "Message ID"
203
205
  msgstr ""
204
206
 
205
- #: codenerix_email/models.py:578
207
+ #: codenerix_email/models.py:568
206
208
  msgid "Unique Message-ID header"
207
209
  msgstr ""
208
210
 
209
- #: codenerix_email/models.py:586
211
+ #: codenerix_email/models.py:576
210
212
  msgid "Body (Text)"
211
213
  msgstr ""
212
214
 
213
- #: codenerix_email/models.py:587
215
+ #: codenerix_email/models.py:577
214
216
  msgid "Body (HTML)"
215
217
  msgstr ""
216
218
 
217
- #: codenerix_email/models.py:588 codenerix_email/models.py:612
219
+ #: codenerix_email/models.py:578 codenerix_email/models.py:602
218
220
  msgid "Date received"
219
221
  msgstr ""
220
222
 
221
- #: codenerix_email/models.py:599 codenerix_email/models.py:614
222
- #: codenerix_email/models.py:639
223
+ #: codenerix_email/models.py:589 codenerix_email/models.py:604
224
+ #: codenerix_email/models.py:629
223
225
  msgid "Bounce Type"
224
226
  msgstr ""
225
227
 
226
- #: codenerix_email/models.py:607
228
+ #: codenerix_email/models.py:597
227
229
  msgid "Bounce Reason"
228
230
  msgstr ""
229
231
 
230
- #: codenerix_email/models.py:618 codenerix_email/models.py:634
232
+ #: codenerix_email/models.py:608 codenerix_email/models.py:624
231
233
  msgid "Related email"
232
234
  msgstr ""
233
235
 
234
- #: codenerix_email/models.py:644
236
+ #: codenerix_email/models.py:634
235
237
  msgid "No Bounce"
236
238
  msgstr ""
237
239
 
238
- #: codenerix_email/models.py:645
240
+ #: codenerix_email/models.py:635
239
241
  msgid "Only Bounces"
240
242
  msgstr ""
241
243
 
242
- #: codenerix_email/models.py:667 codenerix_email/models.py:682
243
- #: codenerix_email/views.py:134
244
+ #: codenerix_email/models.py:657 codenerix_email/models.py:672
245
+ #: codenerix_email/views.py:129
244
246
  msgid "CID"
245
247
  msgstr ""
246
248
 
247
- #: codenerix_email/models.py:681 codenerix_email/views.py:133
249
+ #: codenerix_email/models.py:671 codenerix_email/views.py:128
248
250
  msgid "PK"
249
251
  msgstr ""
250
252
 
251
- #: codenerix_email/models.py:734
253
+ #: codenerix_email/models.py:724
252
254
  msgid "CID can contains only number and letters with no spaces"
253
255
  msgstr ""
254
256
 
255
- #: codenerix_email/views.py:128 codenerix_email/views.py:189
256
- #: codenerix_email/views.py:331
257
+ #: codenerix_email/views.py:123 codenerix_email/views.py:184
258
+ #: codenerix_email/views.py:246
257
259
  msgid "Emails"
258
260
  msgstr ""
259
261
 
260
- #: codenerix_email/views.py:128
262
+ #: codenerix_email/views.py:123
261
263
  msgid "Email Template"
262
264
  msgstr ""
263
265
 
264
- #: codenerix_email/views.py:184 codenerix_email/views.py:326
266
+ #: codenerix_email/views.py:179 codenerix_email/views.py:241
265
267
  msgid "Not sent!"
266
268
  msgstr ""
267
269
 
268
- #: codenerix_email/views.py:185 codenerix_email/views.py:327
270
+ #: codenerix_email/views.py:180 codenerix_email/views.py:242
269
271
  msgid "Waiting"
270
272
  msgstr ""
271
273
 
272
- #: codenerix_email/views.py:189 codenerix_email/views.py:331
274
+ #: codenerix_email/views.py:184 codenerix_email/views.py:246
273
275
  msgid "Email Messages"
274
276
  msgstr ""
275
277
 
276
- #: codenerix_email/views.py:215 codenerix_email/views.py:260
277
- msgid "Bounces"
278
- msgstr ""
279
-
280
- #: codenerix_email/views.py:265
281
- msgid "Soft bounces"
282
- msgstr ""
283
-
284
- #: codenerix_email/views.py:270
285
- msgid "Hard bounces"
286
- msgstr ""
287
-
288
- #: codenerix_email/views.py:293
278
+ #: codenerix_email/views.py:204
289
279
  msgid "Received"
290
280
  msgstr ""
@@ -8,8 +8,8 @@ msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: PACKAGE VERSION\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2025-09-26 06:19+0200\n"
12
- "PO-Revision-Date: 2025-09-26 06:32+0200\n"
11
+ "POT-Creation-Date: 2026-01-16 11:19+0100\n"
12
+ "PO-Revision-Date: 2025-11-04 06:06+0100\n"
13
13
  "Last-Translator: abcdabcdabcdabcd <yo@br0th3r.com>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
15
15
  "Language: \n"
@@ -18,97 +18,91 @@ msgstr ""
18
18
  "Content-Transfer-Encoding: 8bit\n"
19
19
  "X-Translated-Using: django-rosetta 0.10.2\n"
20
20
 
21
- #: codenerix_email/forms.py:42 codenerix_email/forms.py:62
22
- #: codenerix_email/forms.py:78 codenerix_email/forms.py:95
23
- #: codenerix_email/forms.py:151
21
+ #: codenerix_email/forms.py:43 codenerix_email/forms.py:63
22
+ #: codenerix_email/forms.py:79 codenerix_email/forms.py:96
23
+ #: codenerix_email/forms.py:159
24
24
  msgid "Details"
25
25
  msgstr "Detalles"
26
26
 
27
- #: codenerix_email/forms.py:107 codenerix_email/forms.py:165
27
+ #: codenerix_email/forms.py:107 codenerix_email/forms.py:173
28
28
  msgid "System"
29
29
  msgstr "Sistema"
30
30
 
31
- #: codenerix_email/forms.py:119 codenerix_email/forms.py:171
32
- #: codenerix_email/models.py:84 codenerix_email/models.py:745
33
- #: codenerix_email/models.py:750
31
+ #: codenerix_email/forms.py:118
32
+ msgid "Status"
33
+ msgstr "Estado"
34
+
35
+ #: codenerix_email/forms.py:127 codenerix_email/forms.py:179
36
+ #: codenerix_email/models.py:84 codenerix_email/models.py:735
37
+ #: codenerix_email/models.py:740
34
38
  msgid "Body"
35
39
  msgstr "Cuerpo"
36
40
 
37
- #: codenerix_email/models.py:50
41
+ #: codenerix_email/models.py:48
38
42
  msgid "Plain"
39
43
  msgstr "Texto normal"
40
44
 
41
- #: codenerix_email/models.py:51
45
+ #: codenerix_email/models.py:49
42
46
  msgid "HTML Web"
43
47
  msgstr "Web HTML"
44
48
 
45
- #: codenerix_email/models.py:57 codenerix_email/models.py:642
49
+ #: codenerix_email/models.py:55 codenerix_email/models.py:632
46
50
  msgid "Soft"
47
51
  msgstr "Suave"
48
52
 
49
- #: codenerix_email/models.py:58 codenerix_email/models.py:643
53
+ #: codenerix_email/models.py:56 codenerix_email/models.py:633
50
54
  msgid "Hard"
51
55
  msgstr "Duro"
52
56
 
53
- #: codenerix_email/models.py:72 codenerix_email/models.py:133
54
- #: codenerix_email/models.py:171 codenerix_email/views.py:221
55
- #: codenerix_email/views.py:248
57
+ #: codenerix_email/models.py:72 codenerix_email/models.py:162
58
+ #: codenerix_email/models.py:200
56
59
  msgid "UUID"
57
60
  msgstr "UUID"
58
61
 
59
- #: codenerix_email/models.py:79 codenerix_email/models.py:580
60
- #: codenerix_email/models.py:615 codenerix_email/models.py:631
61
- #: codenerix_email/models.py:669 codenerix_email/models.py:683
62
- #: codenerix_email/views.py:135
62
+ #: codenerix_email/models.py:79 codenerix_email/models.py:570
63
+ #: codenerix_email/models.py:605 codenerix_email/models.py:621
64
+ #: codenerix_email/models.py:659 codenerix_email/models.py:673
65
+ #: codenerix_email/views.py:130
63
66
  msgid "From"
64
67
  msgstr "Desde"
65
68
 
66
- #: codenerix_email/models.py:80 codenerix_email/models.py:128
67
- #: codenerix_email/models.py:179 codenerix_email/models.py:581
68
- #: codenerix_email/models.py:616 codenerix_email/models.py:632
69
- #: codenerix_email/views.py:213 codenerix_email/views.py:256
69
+ #: codenerix_email/models.py:80 codenerix_email/models.py:156
70
+ #: codenerix_email/models.py:207 codenerix_email/models.py:571
71
+ #: codenerix_email/models.py:606 codenerix_email/models.py:622
70
72
  msgid "To"
71
73
  msgstr "Para"
72
74
 
73
- #: codenerix_email/models.py:82 codenerix_email/models.py:129
74
- #: codenerix_email/models.py:583 codenerix_email/models.py:617
75
- #: codenerix_email/models.py:744 codenerix_email/models.py:749
76
- #: codenerix_email/views.py:139 codenerix_email/views.py:214
75
+ #: codenerix_email/models.py:82 codenerix_email/models.py:157
76
+ #: codenerix_email/models.py:573 codenerix_email/models.py:607
77
+ #: codenerix_email/models.py:734 codenerix_email/models.py:739
78
+ #: codenerix_email/views.py:134
77
79
  msgid "Subject"
78
80
  msgstr "Asunto"
79
81
 
80
- #: codenerix_email/models.py:86 codenerix_email/models.py:123
81
- #: codenerix_email/models.py:172 codenerix_email/views.py:208
82
- #: codenerix_email/views.py:249
82
+ #: codenerix_email/models.py:86 codenerix_email/models.py:151
83
83
  msgid "Priority"
84
84
  msgstr "Prioridad"
85
85
 
86
- #: codenerix_email/models.py:89 codenerix_email/models.py:165
87
- #: codenerix_email/views.py:182 codenerix_email/views.py:242
88
- #: codenerix_email/views.py:324
86
+ #: codenerix_email/models.py:89 codenerix_email/models.py:194
87
+ #: codenerix_email/views.py:177 codenerix_email/views.py:239
89
88
  msgid "Sending"
90
89
  msgstr "Enviando"
91
90
 
92
- #: codenerix_email/models.py:92 codenerix_email/models.py:163
93
- #: codenerix_email/models.py:170 codenerix_email/views.py:183
94
- #: codenerix_email/views.py:240 codenerix_email/views.py:247
95
- #: codenerix_email/views.py:325
91
+ #: codenerix_email/models.py:92 codenerix_email/models.py:192
92
+ #: codenerix_email/models.py:199 codenerix_email/views.py:178
93
+ #: codenerix_email/views.py:240
96
94
  msgid "Sent"
97
95
  msgstr "Enviado"
98
96
 
99
- #: codenerix_email/models.py:95 codenerix_email/models.py:166
100
- #: codenerix_email/views.py:243
97
+ #: codenerix_email/models.py:95 codenerix_email/models.py:195
101
98
  msgid "Error"
102
99
  msgstr "Error"
103
100
 
104
- #: codenerix_email/models.py:98 codenerix_email/models.py:130
105
- #: codenerix_email/models.py:180 codenerix_email/views.py:218
106
- #: codenerix_email/views.py:257
101
+ #: codenerix_email/models.py:98 codenerix_email/models.py:159
107
102
  msgid "Retries"
108
103
  msgstr "Reintentos"
109
104
 
110
- #: codenerix_email/models.py:100 codenerix_email/models.py:131
111
- #: codenerix_email/views.py:219
105
+ #: codenerix_email/models.py:100 codenerix_email/models.py:160
112
106
  msgid "Next retry"
113
107
  msgstr "Siguiente reintento"
114
108
 
@@ -116,15 +110,14 @@ msgstr "Siguiente reintento"
116
110
  msgid "Log"
117
111
  msgstr "Log"
118
112
 
119
- #: codenerix_email/models.py:103 codenerix_email/models.py:126
120
- #: codenerix_email/models.py:174 codenerix_email/views.py:211
121
- #: codenerix_email/views.py:251
113
+ #: codenerix_email/models.py:103 codenerix_email/models.py:154
114
+ #: codenerix_email/models.py:202
122
115
  msgid "Opened"
123
116
  msgstr "Abierto"
124
117
 
125
- #: codenerix_email/models.py:106 codenerix_email/models.py:135
126
- #: codenerix_email/models.py:671 codenerix_email/models.py:684
127
- #: codenerix_email/views.py:145 codenerix_email/views.py:223
118
+ #: codenerix_email/models.py:106 codenerix_email/models.py:164
119
+ #: codenerix_email/models.py:661 codenerix_email/models.py:674
120
+ #: codenerix_email/views.py:140
128
121
  msgid "Content Subtype"
129
122
  msgstr "Subtipo de contenido"
130
123
 
@@ -132,162 +125,164 @@ msgstr "Subtipo de contenido"
132
125
  msgid "Unsubscribe URL"
133
126
  msgstr "URL de cancelación de suscripción"
134
127
 
135
- #: codenerix_email/models.py:116 codenerix_email/models.py:585
128
+ #: codenerix_email/models.py:116 codenerix_email/models.py:575
136
129
  msgid "Headers"
137
130
  msgstr "Cabeceras"
138
131
 
139
- #: codenerix_email/models.py:122 codenerix_email/views.py:207
132
+ #: codenerix_email/models.py:118
133
+ msgid "Soft bounces"
134
+ msgstr "Rebotes suaves"
135
+
136
+ #: codenerix_email/models.py:121
137
+ msgid "Hard bounces"
138
+ msgstr "Rebotes duros"
139
+
140
+ #: codenerix_email/models.py:124
141
+ msgid "Total bounces"
142
+ msgstr "Total rebotes"
143
+
144
+ #: codenerix_email/models.py:150
140
145
  msgid "Send"
141
146
  msgstr "Enviar"
142
147
 
143
- #: codenerix_email/models.py:124 codenerix_email/views.py:209
148
+ #: codenerix_email/models.py:152
144
149
  msgid "Created"
145
150
  msgstr "Creado"
146
151
 
147
- #: codenerix_email/models.py:125 codenerix_email/views.py:210
152
+ #: codenerix_email/models.py:153
148
153
  msgid "Updated"
149
154
  msgstr "Actualizado"
150
155
 
151
- #: codenerix_email/models.py:132 codenerix_email/models.py:181
152
- #: codenerix_email/views.py:220 codenerix_email/views.py:258
156
+ #: codenerix_email/models.py:158
157
+ msgid "Bounces"
158
+ msgstr "Rebotados"
159
+
160
+ #: codenerix_email/models.py:161 codenerix_email/models.py:208
153
161
  msgid "ID"
154
162
  msgstr "ID"
155
163
 
156
- #: codenerix_email/models.py:134 codenerix_email/views.py:222
164
+ #: codenerix_email/models.py:163
157
165
  msgid "Unsubscribe"
158
166
  msgstr "Cancelar suscripción"
159
167
 
160
- #: codenerix_email/models.py:164 codenerix_email/views.py:241
168
+ #: codenerix_email/models.py:193
161
169
  msgid "Pending"
162
170
  msgstr "Pendiente"
163
171
 
164
- #: codenerix_email/models.py:176 codenerix_email/views.py:253
172
+ #: codenerix_email/models.py:204
165
173
  msgid "Yes"
166
174
  msgstr "Si"
167
175
 
168
- #: codenerix_email/models.py:176 codenerix_email/views.py:253
176
+ #: codenerix_email/models.py:204
169
177
  msgid "No"
170
178
  msgstr "No"
171
179
 
172
- #: codenerix_email/models.py:201
180
+ #: codenerix_email/models.py:216
173
181
  msgid "HEADERS must be a Dictionary"
174
182
  msgstr "Las CABECERAS deben ser un Diccionario"
175
183
 
176
- #: codenerix_email/models.py:391
177
- msgid ""
178
- "Programming ERROR: You are using content_subtype, this value has been "
179
- "DEPRECATED and will be remove in future versions."
180
- msgstr ""
181
- "ERROR de programación: está utilizando content_subtype, este valor ha "
182
- "quedado DESPRECADO y se eliminará en versiones futuras."
183
-
184
- #: codenerix_email/models.py:554 codenerix_email/models.py:564
184
+ #: codenerix_email/models.py:544 codenerix_email/models.py:554
185
185
  msgid "Filename"
186
186
  msgstr "Nombre de fichero"
187
187
 
188
- #: codenerix_email/models.py:557 codenerix_email/models.py:565
188
+ #: codenerix_email/models.py:547 codenerix_email/models.py:555
189
189
  msgid "Mimetype"
190
190
  msgstr "Mimetype"
191
191
 
192
- #: codenerix_email/models.py:559 codenerix_email/models.py:566
192
+ #: codenerix_email/models.py:549 codenerix_email/models.py:556
193
193
  msgid "Path"
194
194
  msgstr "Ruta"
195
195
 
196
- #: codenerix_email/models.py:563
196
+ #: codenerix_email/models.py:553
197
197
  msgid "Email"
198
198
  msgstr "Email"
199
199
 
200
- #: codenerix_email/models.py:572 codenerix_email/models.py:620
200
+ #: codenerix_email/models.py:562 codenerix_email/models.py:610
201
201
  msgid "IMAP ID"
202
202
  msgstr "ID IMAP"
203
203
 
204
- #: codenerix_email/models.py:575
204
+ #: codenerix_email/models.py:565
205
205
  msgid "Message ID"
206
206
  msgstr "ID Mensaje"
207
207
 
208
- #: codenerix_email/models.py:578
208
+ #: codenerix_email/models.py:568
209
209
  msgid "Unique Message-ID header"
210
210
  msgstr "Cabecera única Message-ID"
211
211
 
212
- #: codenerix_email/models.py:586
212
+ #: codenerix_email/models.py:576
213
213
  msgid "Body (Text)"
214
214
  msgstr "Cuerpo (Texto)"
215
215
 
216
- #: codenerix_email/models.py:587
216
+ #: codenerix_email/models.py:577
217
217
  msgid "Body (HTML)"
218
218
  msgstr "Cuerpo (HTML)"
219
219
 
220
- #: codenerix_email/models.py:588 codenerix_email/models.py:612
220
+ #: codenerix_email/models.py:578 codenerix_email/models.py:602
221
221
  msgid "Date received"
222
222
  msgstr "Fecha recepción"
223
223
 
224
- #: codenerix_email/models.py:599 codenerix_email/models.py:614
225
- #: codenerix_email/models.py:639
224
+ #: codenerix_email/models.py:589 codenerix_email/models.py:604
225
+ #: codenerix_email/models.py:629
226
226
  msgid "Bounce Type"
227
227
  msgstr "Tipo de rebote"
228
228
 
229
- #: codenerix_email/models.py:607
229
+ #: codenerix_email/models.py:597
230
230
  msgid "Bounce Reason"
231
231
  msgstr "Razón de rebote"
232
232
 
233
- #: codenerix_email/models.py:618 codenerix_email/models.py:634
233
+ #: codenerix_email/models.py:608 codenerix_email/models.py:624
234
234
  msgid "Related email"
235
235
  msgstr "Email relacionado"
236
236
 
237
- #: codenerix_email/models.py:644
237
+ #: codenerix_email/models.py:634
238
238
  msgid "No Bounce"
239
239
  msgstr "No rebote"
240
240
 
241
- #: codenerix_email/models.py:645
241
+ #: codenerix_email/models.py:635
242
242
  msgid "Only Bounces"
243
243
  msgstr "Sólo rebotes"
244
244
 
245
- #: codenerix_email/models.py:667 codenerix_email/models.py:682
246
- #: codenerix_email/views.py:134
245
+ #: codenerix_email/models.py:657 codenerix_email/models.py:672
246
+ #: codenerix_email/views.py:129
247
247
  msgid "CID"
248
248
  msgstr "CID"
249
249
 
250
- #: codenerix_email/models.py:681 codenerix_email/views.py:133
250
+ #: codenerix_email/models.py:671 codenerix_email/views.py:128
251
251
  msgid "PK"
252
252
  msgstr "PK"
253
253
 
254
- #: codenerix_email/models.py:734
254
+ #: codenerix_email/models.py:724
255
255
  msgid "CID can contains only number and letters with no spaces"
256
256
  msgstr "El CID sólo puede contener números y letras sin espacios"
257
257
 
258
- #: codenerix_email/views.py:128 codenerix_email/views.py:189
259
- #: codenerix_email/views.py:331
258
+ #: codenerix_email/views.py:123 codenerix_email/views.py:184
259
+ #: codenerix_email/views.py:246
260
260
  msgid "Emails"
261
261
  msgstr "Emails"
262
262
 
263
- #: codenerix_email/views.py:128
263
+ #: codenerix_email/views.py:123
264
264
  msgid "Email Template"
265
265
  msgstr "Template de Email"
266
266
 
267
- #: codenerix_email/views.py:184 codenerix_email/views.py:326
267
+ #: codenerix_email/views.py:179 codenerix_email/views.py:241
268
268
  msgid "Not sent!"
269
269
  msgstr "¡No enviado!"
270
270
 
271
- #: codenerix_email/views.py:185 codenerix_email/views.py:327
271
+ #: codenerix_email/views.py:180 codenerix_email/views.py:242
272
272
  msgid "Waiting"
273
273
  msgstr "Esperando"
274
274
 
275
- #: codenerix_email/views.py:189 codenerix_email/views.py:331
275
+ #: codenerix_email/views.py:184 codenerix_email/views.py:246
276
276
  msgid "Email Messages"
277
277
  msgstr "Mensajes de Email"
278
278
 
279
- #: codenerix_email/views.py:215 codenerix_email/views.py:260
280
- msgid "Bounces"
281
- msgstr "Rebotados"
282
-
283
- #: codenerix_email/views.py:265
284
- msgid "Soft bounces"
285
- msgstr "Rebotes suaves"
286
-
287
- #: codenerix_email/views.py:270
288
- msgid "Hard bounces"
289
- msgstr "Rebotes duros"
290
-
291
- #: codenerix_email/views.py:293
279
+ #: codenerix_email/views.py:204
292
280
  msgid "Received"
293
281
  msgstr "Recibidos"
282
+
283
+ #~ msgid ""
284
+ #~ "Programming ERROR: You are using content_subtype, this value has been "
285
+ #~ "DEPRECATED and will be remove in future versions."
286
+ #~ msgstr ""
287
+ #~ "ERROR de programación: está utilizando content_subtype, este valor ha "
288
+ #~ "quedado DESPRECADO y se eliminará en versiones futuras."
@@ -31,6 +31,66 @@ from imapclient import IMAPClient # noqa: E402
31
31
  from imapclient.exceptions import LoginError # noqa: E402
32
32
 
33
33
 
34
+ class IMAPClientFile:
35
+ """
36
+ A mock IMAPClient that reads a single email from a file.
37
+ Used for testing purposes.
38
+ """
39
+
40
+ def __init__(self, file_path, *args, **kwargs):
41
+ self.file_path = file_path
42
+ self.selected_folder = None
43
+
44
+ def login(self, user, password):
45
+ # No-op for file-based client
46
+ pass
47
+
48
+ def select_folder(self, folder, readonly=False):
49
+ self.selected_folder = folder
50
+
51
+ def search(self, criteria):
52
+ # Always return a single fake ID
53
+ return [1]
54
+
55
+ def fetch(self, messages_ids, data_items):
56
+ # Read the email from the file
57
+ with open(self.file_path, "rb") as f:
58
+ raw_email = f.read()
59
+
60
+ # Return a single message with the raw email and current date
61
+ from datetime import datetime
62
+
63
+ return {
64
+ 1: {
65
+ b"BODY[]": raw_email,
66
+ b"INTERNALDATE": datetime.now(),
67
+ }
68
+ }
69
+
70
+ def add_flags(self, imap_id, flags):
71
+ # No-op for file-based client
72
+ pass
73
+
74
+ def delete_messages(self, imap_id):
75
+ # No-op for file-based client
76
+ pass
77
+
78
+ def expunge(self):
79
+ # No-op for file-based client
80
+ pass
81
+
82
+ def logout(self):
83
+ # No-op for file-based client
84
+ pass
85
+
86
+ @classmethod
87
+ def factory(cls, file_path):
88
+ def _factory(*args, **kwargs):
89
+ return IMAPClientFile(file_path, *args, **kwargs)
90
+
91
+ return _factory
92
+
93
+
34
94
  class Command(BaseCommand):
35
95
  help = "Fetches new emails from the configured IMAP account."
36
96
 
@@ -144,6 +204,9 @@ class Command(BaseCommand):
144
204
  parser.add_argument(
145
205
  "--rewrite", action="store_true", help="Rewrite existing"
146
206
  )
207
+ parser.add_argument(
208
+ "--file", type=str, help="Path to a file containing raw email data"
209
+ )
147
210
 
148
211
  def validate_encoding(self, encoding: str | None) -> str:
149
212
  """
@@ -172,6 +235,7 @@ class Command(BaseCommand):
172
235
  self.tracking_id = options.get("tracking_id")
173
236
  self.rewrite = options.get("rewrite", False)
174
237
  self.process_all = options.get("all", False)
238
+ self.file_path = options.get("file")
175
239
 
176
240
  # Show header
177
241
  if self.verbose:
@@ -187,6 +251,12 @@ class Command(BaseCommand):
187
251
  ssl = getattr(settings, "IMAP_EMAIL_SSL", True)
188
252
  folder = getattr(settings, "IMAP_EMAIL_INBOX_FOLDER", "INBOX")
189
253
 
254
+ # Check if processing from file
255
+ if self.file_path:
256
+ imapcls = IMAPClientFile.factory(self.file_path)
257
+ else:
258
+ imapcls = IMAPClient
259
+
190
260
  # Verify that IMAP settings are configured
191
261
  if host is not None and port:
192
262
  # Validate configuration
@@ -201,7 +271,7 @@ class Command(BaseCommand):
201
271
 
202
272
  try:
203
273
  # Connect to the IMAP server
204
- server = IMAPClient(host, port=port, ssl=ssl)
274
+ server = imapcls(host, port=port, ssl=ssl)
205
275
  except Exception as e:
206
276
  raise CommandError(
207
277
  f"Failed to connect to IMAP server ("
@@ -591,7 +661,7 @@ class Command(BaseCommand):
591
661
  """
592
662
 
593
663
  # Method 1: Search in main headers (for direct replies)
594
- tracking_id = msg.get("X-Codenerix-Tracking-ID", None)
664
+ tracking_id = str(msg.get("X-Codenerix-Tracking-ID", "")) or None
595
665
 
596
666
  # Method 2: Search in attached parts (for bounces and forwards)
597
667
  if not tracking_id:
@@ -614,8 +684,13 @@ class Command(BaseCommand):
614
684
  ):
615
685
  original_msg = original_msg_payload[0]
616
686
  if isinstance(original_msg, Message):
617
- tracking_id = original_msg.get(
618
- "X-Codenerix-Tracking-ID"
687
+ tracking_id = (
688
+ str(
689
+ original_msg.get(
690
+ "X-Codenerix-Tracking-ID", ""
691
+ )
692
+ )
693
+ or None
619
694
  )
620
695
 
621
696
  elif content_type == "text/rfc822-headers":
@@ -632,8 +707,13 @@ class Command(BaseCommand):
632
707
 
633
708
  # Parse headers text into a Message object
634
709
  headers_msg = HeaderParser().parsestr(headers_text)
635
- tracking_id = headers_msg.get(
636
- "X-Codenerix-Tracking-ID"
710
+ tracking_id = (
711
+ str(
712
+ headers_msg.get(
713
+ "X-Codenerix-Tracking-ID", ""
714
+ )
715
+ )
716
+ or None
637
717
  )
638
718
 
639
719
  # Method 3: Search in the body text (fallback)
@@ -716,8 +796,10 @@ class Command(BaseCommand):
716
796
  status_headers = payload[0]
717
797
  if isinstance(status_headers, Message):
718
798
  # Extract Action and Status headers
719
- action = status_headers.get("Action", "").lower()
720
- status_code = status_headers.get("Status", "")
799
+ action = str(
800
+ status_headers.get("Action", "")
801
+ ).lower()
802
+ status_code = str(status_headers.get("Status", ""))
721
803
 
722
804
  # Check if action indicates failure
723
805
  if action == "failed":
@@ -747,13 +829,13 @@ class Command(BaseCommand):
747
829
 
748
830
  else:
749
831
  # Check for Auto-Submitted header
750
- if msg.get("Auto-Submitted", "").lower() in (
832
+ if str(msg.get("Auto-Submitted", "")).lower() in (
751
833
  "auto-replied",
752
834
  "auto-generated",
753
835
  ):
754
836
  # It could be a bounce, but also an "Out of Office",
755
837
  # so we combine it with a keyword search.
756
- subject = msg.get("Subject", "").lower()
838
+ subject = str(msg.get("Subject", "")).lower()
757
839
  bounce_keywords = [
758
840
  "undeliverable",
759
841
  "delivery failed",
@@ -770,8 +852,8 @@ class Command(BaseCommand):
770
852
  if not bounce_type:
771
853
  # We look for common bounce keywords in the From or Subject headers
772
854
  # We avoid false positives by requiring specific keywords.
773
- from_header = msg.get("From", "").lower()
774
- subject_header = msg.get("Subject", "").lower()
855
+ from_header = str(msg.get("From", "")).lower()
856
+ subject_header = str(msg.get("Subject", "")).lower()
775
857
 
776
858
  if "mailer-daemon@" in from_header or "postmaster@" in from_header:
777
859
  # Common bounce sender addresses
@@ -884,6 +966,13 @@ class Command(BaseCommand):
884
966
  return (False, f"HEADER failed: {headers}")
885
967
 
886
968
  elif key == "BOUNCE_TYPE" and patterns:
969
+ # Convert bounce_type to string for matching
970
+ if bounce_type:
971
+ if bounce_type == BOUNCE_HARD:
972
+ bounce_type = "hard"
973
+ elif bounce_type == BOUNCE_SOFT:
974
+ bounce_type = "soft"
975
+
887
976
  if bounce_type not in patterns:
888
977
  return (False, f"BOUNCE_TYPE failed: {bounce_type}")
889
978
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: django-codenerix-email
3
- Version: 4.0.42
3
+ Version: 4.0.44
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>
@@ -24,9 +24,9 @@ Classifier: Programming Language :: Python :: 3.5
24
24
  Classifier: Topic :: Internet :: WWW/HTTP
25
25
  Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
26
26
  License-File: LICENSE
27
- Requires-Dist: IMAPClient (>=3.0.1)
28
- Requires-Dist: django-codenerix (>=5.0.43)
29
- Requires-Dist: django-codenerix-extensions (>=4.0.4)
27
+ Requires-Dist: IMAPClient >=3.0.1
28
+ Requires-Dist: django-codenerix >=5.0.43
29
+ Requires-Dist: django-codenerix-extensions >=4.0.4
30
30
 
31
31
  ======================
32
32
  django-codenerix-email
@@ -75,5 +75,3 @@ Documentation
75
75
  Coming soon... do you help us?
76
76
 
77
77
  You can get in touch with us `here <https://codenerix.com/contact/>`_.
78
-
79
-
@@ -1,4 +1,4 @@
1
- codenerix_email/__init__.py,sha256=zUdeNRRlJihOcJjhw5Q9V7lfEz0fapMDZg6sDEI2688,149
1
+ codenerix_email/__init__.py,sha256=elqCKOM3snurKhh-GSQiHIdZpt5yHdFbmwazM3jDyRM,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=P5w-ebxLR1V10RFDqO_R5vvZV-vY6SLTzVb1OLdFZE0,5710
@@ -827,8 +827,9 @@ 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=l9GJtMt8iO4CEAQw7GF-VKHRSXKp1LM0u3anmv8DTNo,313
831
- codenerix_email/__pycache__/__init__.cpython-311.pyc,sha256=JdakKHcPF2vqH90_mlw7sAfIVJgpl_o6PgPOmfKFPnY,337
830
+ codenerix_email/__pycache__/__init__.cpython-310.pyc,sha256=UfkLIR72bavcAAq4Nvzaw3MNV8AZ_TOygeWPiF1bEEA,313
831
+ codenerix_email/__pycache__/__init__.cpython-311.pyc,sha256=XFD3XCDhN08DM6HjrR5mo42zHyulf3C3LIvqbKeoK4w,337
832
+ codenerix_email/__pycache__/__init__.cpython-312.pyc,sha256=2jm0AKLgcto4YrDGOSI_mbHtoYKF-D64zXQiLQNLZwA,331
832
833
  codenerix_email/__pycache__/__init__.cpython-35.pyc,sha256=dl9lYAgrokJptUj3JAhiqTlX7d_CbncOxZeTc1USc88,308
833
834
  codenerix_email/__pycache__/__init__.cpython-37.pyc,sha256=5d1CeFU5DrfnwrRpvSw1bHvLN9hoHXjUA3ln3rXCDo8,306
834
835
  codenerix_email/__pycache__/__init__.cpython-39.pyc,sha256=0c6KWU_eOTlF5l9fNWv8l41b0LcfVQNUsqDvJTv2YyU,300
@@ -858,9 +859,9 @@ codenerix_email/__pycache__/views.cpython-310.pyc,sha256=vB2BqnTPYMYxiihKQAr6DZZ
858
859
  codenerix_email/__pycache__/views.cpython-311.pyc,sha256=urp3a_ATSfAza2O4A-D_Vnf_zfTMzRO6jG9BxwR8MZA,10251
859
860
  codenerix_email/__pycache__/views.cpython-35.pyc,sha256=ZiDircDZ5B_MEFZu2H4ca7OZop10EyZF2PRR6JRgUGc,3988
860
861
  codenerix_email/__pycache__/views.cpython-39.pyc,sha256=SV_-RTnh7w_7oMUkD0mUWhSs5lqMuw-HUGU40hV56YY,3657
861
- codenerix_email/locale/en/LC_MESSAGES/django.po,sha256=NzL-kG6Z7lVnp_YDsUOMz-HAKqC37J-2elkU_Ce1zL8,7198
862
- codenerix_email/locale/es/LC_MESSAGES/django.mo,sha256=fmnuCkQRs_FlXSLBeqjSjWi7qF7jNnNXjvCoe-81AOk,2904
863
- codenerix_email/locale/es/LC_MESSAGES/django.po,sha256=7jRki2LW4n61rJi6HKAP0mafp9FTu4YCXEPow6DwCEo,8044
862
+ codenerix_email/locale/en/LC_MESSAGES/django.po,sha256=0EOXi1HD3nt278Cep_ZHs-INa7n-WwrgGbVO3C6n2CQ,6268
863
+ codenerix_email/locale/es/LC_MESSAGES/django.mo,sha256=HMot2IHs0SiyKz86HPstMdoEf7SOE0PAyL2OAigDIs0,2713
864
+ codenerix_email/locale/es/LC_MESSAGES/django.po,sha256=QrNslLcnhIaOmasXY5rFSlBj2tp4A2XRTkgQZSAqiRE,7296
864
865
  codenerix_email/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
865
866
  codenerix_email/management/__pycache__/__init__.cpython-310.pyc,sha256=7vUcYbg6ZpWdEhb0hq2FSiwMtpBWIjMTv8H8rcgtiOY,179
866
867
  codenerix_email/management/__pycache__/__init__.cpython-311.pyc,sha256=OtPcxwWjtJcDfDWQCWutxYIIwHerLtkPPyMcEFOpdMM,195
@@ -868,7 +869,7 @@ codenerix_email/management/__pycache__/__init__.cpython-35.pyc,sha256=sBoEWs6zdI
868
869
  codenerix_email/management/__pycache__/__init__.cpython-39.pyc,sha256=uPXklfliVd3b8pLOJQT9ZeKcqmJMrGychvt68BsPulY,168
869
870
  codenerix_email/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
870
871
  codenerix_email/management/commands/email_test.py,sha256=SPsiq0s48sEX_G3piNHq-c1gDOH800H2zTvM19ei2LY,5605
871
- codenerix_email/management/commands/emails_recv.py,sha256=C6DYD9WIT9vDDmSvxRf6Ms_SjoHMQYKZB49Bt7yr7cg,37354
872
+ codenerix_email/management/commands/emails_recv.py,sha256=O_HC9nXnhgVVA9QnhwRiOTPH38zmLReGSZnSVqNU7ss,39962
872
873
  codenerix_email/management/commands/emails_send.py,sha256=scCFklro4WVMYm-1ataSjUMsPT-Ie5u_DdA55CQcTCQ,7944
873
874
  codenerix_email/management/commands/recv_emails.py,sha256=aXmhdXlamiNxRpMIDSKBXUBhkOcwi5l_Pme7jSQUCME,273
874
875
  codenerix_email/management/commands/send_emails.py,sha256=a1MnpvZKAEFdXNfmI5oFUkVxy4PZ1AjaJS6GH90zeD0,273
@@ -1613,7 +1614,7 @@ codenerix_email/management/commands/.mypy_cache/3.10/zoneinfo/_tzpath.meta.json,
1613
1614
  codenerix_email/management/commands/__pycache__/__init__.cpython-310.pyc,sha256=3-VfdLuaiBIg4KTIy7GETYTt2-AbfCU0vlH6fFZx7_M,189
1614
1615
  codenerix_email/management/commands/__pycache__/__init__.cpython-311.pyc,sha256=yiqmtIhQMYXWx7g7XT-mvQNgGu_X2ymasWvVxIqPsBE,211
1615
1616
  codenerix_email/management/commands/__pycache__/email_test.cpython-311.pyc,sha256=ql-fe6qem8jGQCu-7Wm3ZCEvzOiVMsCdy0IxOyGnJbo,5946
1616
- codenerix_email/management/commands/__pycache__/emails_recv.cpython-311.pyc,sha256=2xdfhIh76dxEnxx7wxaDsCeycJM4wRCb14C0CJax6to,30330
1617
+ codenerix_email/management/commands/__pycache__/emails_recv.cpython-311.pyc,sha256=qvglCrrgEX5OD19O8MnTkI_s60l5uTS0t5nmpYNDf4M,36049
1617
1618
  codenerix_email/management/commands/__pycache__/emails_send.cpython-311.pyc,sha256=XSOhv92hH9G4Z9juLmXFTOLCS-oggZBA2TFyKIsxmd8,6868
1618
1619
  codenerix_email/management/commands/__pycache__/recv_emails.cpython-310.pyc,sha256=qzj8puxw6pRAz_ptltybySs2mybOwdoZ8LB7Fw8YMGc,9897
1619
1620
  codenerix_email/management/commands/__pycache__/recv_emails.cpython-311.pyc,sha256=YJoyWZ8Ax_ej7u9_YKjtru8BN8bKlMuvqNiTsLoWYUw,643
@@ -1689,8 +1690,8 @@ codenerix_email/migrations/__pycache__/__init__.cpython-35.pyc,sha256=2g70xiMW6o
1689
1690
  codenerix_email/migrations/__pycache__/__init__.cpython-39.pyc,sha256=qNj2NH0YvoWPnCKxkVZPsEFsbM05y7t1njMskNISdVQ,168
1690
1691
  codenerix_email/static/codenerix_email/emailmessages_rows.html,sha256=cA2ru5ti9WnPhhvFNEpI2tTR7gZzUYXWdzngRKU6a7k,2196
1691
1692
  codenerix_email/static/codenerix_email/emailreceiveds_rows.html,sha256=u9DXVdzKhx9WlJgcK_cT2DfGp9bGIKTBn3LDQplB4g4,2032
1692
- django_codenerix_email-4.0.42.dist-info/LICENSE,sha256=IXMIpi75XsrJt1Sznt4EftT9c_4X0C9eqK4tHhH8H48,11339
1693
- django_codenerix_email-4.0.42.dist-info/METADATA,sha256=eATIXaTRThHDlWhFC90e3Ungre5mgBrglNznAm4rxhc,2676
1694
- django_codenerix_email-4.0.42.dist-info/WHEEL,sha256=z9j0xAa_JmUKMpmz72K0ZGALSM_n-wQVmGbleXx2VHg,110
1695
- django_codenerix_email-4.0.42.dist-info/top_level.txt,sha256=lljSA0iKE_UBEM5gIrGQwioC_i8Jjnp-aR1LFElENgw,16
1696
- django_codenerix_email-4.0.42.dist-info/RECORD,,
1693
+ django_codenerix_email-4.0.44.dist-info/LICENSE,sha256=IXMIpi75XsrJt1Sznt4EftT9c_4X0C9eqK4tHhH8H48,11339
1694
+ django_codenerix_email-4.0.44.dist-info/METADATA,sha256=jDTVferkFbBraU7HmeR6KmMoYXWhTnMeqflIEvF5mWk,2668
1695
+ django_codenerix_email-4.0.44.dist-info/WHEEL,sha256=-G_t0oGuE7UD0DrSpVZnq1hHMBV9DD2XkS5v7XpmTnk,110
1696
+ django_codenerix_email-4.0.44.dist-info/top_level.txt,sha256=lljSA0iKE_UBEM5gIrGQwioC_i8Jjnp-aR1LFElENgw,16
1697
+ django_codenerix_email-4.0.44.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.37.1)
2
+ Generator: bdist_wheel (0.42.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py2-none-any
5
5
  Tag: py3-none-any