emailengine-app 2.69.0 → 2.71.0
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.
- package/.github/workflows/deploy.yml +6 -3
- package/.github/workflows/release.yaml +2 -0
- package/.github/workflows/test.yml +73 -12
- package/.ncurc.js +3 -3
- package/CHANGELOG.md +37 -0
- package/Gruntfile.js +21 -23
- package/bin/emailengine.js +8 -1
- package/config/default.toml +5 -0
- package/config/test.toml +5 -0
- package/data/google-crawlers.json +1 -1
- package/getswagger.sh +44 -4
- package/gettext-extract.js +163 -0
- package/lib/account.js +104 -72
- package/lib/api-routes/account-routes.js +231 -71
- package/lib/api-routes/blocklist-routes.js +25 -18
- package/lib/api-routes/chat-routes.js +32 -14
- package/lib/api-routes/delivery-test-routes.js +30 -5
- package/lib/api-routes/export-routes.js +27 -2
- package/lib/api-routes/gateway-routes.js +63 -12
- package/lib/api-routes/license-routes.js +18 -4
- package/lib/api-routes/mailbox-routes.js +33 -7
- package/lib/api-routes/message-routes.js +291 -145
- package/lib/api-routes/oauth2-app-routes.js +90 -24
- package/lib/api-routes/outbox-routes.js +16 -4
- package/lib/api-routes/pubsub-routes.js +8 -4
- package/lib/api-routes/route-helpers.js +14 -1
- package/lib/api-routes/settings-routes.js +51 -25
- package/lib/api-routes/stats-routes.js +37 -3
- package/lib/api-routes/submit-routes.js +31 -42
- package/lib/api-routes/template-routes.js +54 -21
- package/lib/api-routes/token-routes.js +67 -67
- package/lib/api-routes/webhook-route-routes.js +37 -8
- package/lib/autodetect-imap-settings.js +0 -2
- package/lib/consts.js +5 -0
- package/lib/document-store.js +22 -1
- package/lib/email-client/base-client.js +31 -8
- package/lib/email-client/gmail-client.js +119 -112
- package/lib/email-client/imap/mailbox.js +2 -2
- package/lib/email-client/imap/subconnection.js +0 -1
- package/lib/email-client/imap/sync-operations.js +1 -1
- package/lib/email-client/imap-client.js +36 -17
- package/lib/email-client/notification-handler.js +3 -6
- package/lib/email-client/outlook-client.js +49 -62
- package/lib/export.js +49 -1
- package/lib/feature-flags.js +8 -2
- package/lib/gateway.js +4 -9
- package/lib/get-raw-email.js +5 -5
- package/lib/imapproxy/imap-core/lib/imap-connection.js +0 -1
- package/lib/license-beacon.js +367 -0
- package/lib/logger.js +35 -22
- package/lib/metrics-collector.js +0 -2
- package/lib/oauth2-apps.js +13 -4
- package/lib/outbox.js +24 -40
- package/lib/redis-operations.js +1 -1
- package/lib/routes-ui.js +2 -1
- package/lib/schemas.js +403 -83
- package/lib/sentry.js +139 -0
- package/lib/settings.js +9 -3
- package/lib/stream-encrypt.js +1 -1
- package/lib/templates.js +1 -1
- package/lib/tokens.js +5 -3
- package/lib/tools.js +28 -6
- package/lib/ui-routes/account-routes.js +7 -4
- package/lib/ui-routes/admin-config-routes.js +20 -6
- package/lib/ui-routes/document-store-routes.js +7 -1
- package/lib/ui-routes/oauth-config-routes.js +0 -2
- package/lib/ui-routes/route-helpers.js +0 -2
- package/lib/ui-routes/unsubscribe-routes.js +0 -2
- package/lib/webhooks.js +8 -4
- package/package.json +23 -19
- package/sbom.json +1 -1
- package/server.js +38 -31
- package/static/licenses.html +171 -391
- package/translations/de.mo +0 -0
- package/translations/de.po +154 -142
- package/translations/et.mo +0 -0
- package/translations/et.po +129 -131
- package/translations/fr.mo +0 -0
- package/translations/fr.po +133 -136
- package/translations/ja.mo +0 -0
- package/translations/ja.po +126 -129
- package/translations/messages.pot +107 -107
- package/translations/nl.mo +0 -0
- package/translations/nl.po +128 -130
- package/translations/pl.mo +0 -0
- package/translations/pl.po +125 -128
- package/update-info.sh +19 -1
- package/views/config/logging.hbs +48 -0
- package/views/dashboard.hbs +22 -0
- package/workers/api.js +33 -37
- package/workers/documents.js +2 -22
- package/workers/export.js +73 -92
- package/workers/imap-proxy.js +3 -23
- package/workers/imap.js +2 -22
- package/workers/smtp.js +2 -22
- package/workers/submit.js +6 -24
- package/workers/webhooks.js +2 -22
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
msgid ""
|
|
2
2
|
msgstr ""
|
|
3
3
|
"Content-Type: text/plain; charset=ascii\n"
|
|
4
|
-
"POT-Creation-Date: 2026-06-
|
|
4
|
+
"POT-Creation-Date: 2026-06-15 18:35+0000\n"
|
|
5
5
|
|
|
6
6
|
#: views/error.hbs:4
|
|
7
|
-
#: workers/api.js:
|
|
7
|
+
#: workers/api.js:2957
|
|
8
8
|
msgid "Something went wrong"
|
|
9
9
|
msgstr ""
|
|
10
10
|
|
|
@@ -21,7 +21,7 @@ msgid "Dashboard"
|
|
|
21
21
|
msgstr ""
|
|
22
22
|
|
|
23
23
|
#: views/config/license.hbs:45
|
|
24
|
-
#: lib/ui-routes/oauth-config-routes.js:
|
|
24
|
+
#: lib/ui-routes/oauth-config-routes.js:217
|
|
25
25
|
msgid "%d day"
|
|
26
26
|
msgid_plural "%d days"
|
|
27
27
|
msgstr[0] ""
|
|
@@ -55,46 +55,6 @@ msgstr ""
|
|
|
55
55
|
msgid "Try Again"
|
|
56
56
|
msgstr ""
|
|
57
57
|
|
|
58
|
-
#: views/accounts/register/imap.hbs:11
|
|
59
|
-
msgid "Your name"
|
|
60
|
-
msgstr ""
|
|
61
|
-
|
|
62
|
-
#: views/accounts/register/imap.hbs:17
|
|
63
|
-
msgid "Enter your full name"
|
|
64
|
-
msgstr ""
|
|
65
|
-
|
|
66
|
-
#: views/accounts/register/imap.hbs:21
|
|
67
|
-
#: views/unsubscribe.hbs:75
|
|
68
|
-
msgid "Email address"
|
|
69
|
-
msgstr ""
|
|
70
|
-
|
|
71
|
-
#: views/accounts/register/imap.hbs:27
|
|
72
|
-
#: views/unsubscribe.hbs:81
|
|
73
|
-
msgid "Enter your email address"
|
|
74
|
-
msgstr ""
|
|
75
|
-
|
|
76
|
-
#: views/accounts/register/imap.hbs:31
|
|
77
|
-
#: views/accounts/register/imap-server.hbs:36
|
|
78
|
-
#: views/accounts/register/imap-server.hbs:128
|
|
79
|
-
msgid "Password"
|
|
80
|
-
msgstr ""
|
|
81
|
-
|
|
82
|
-
#: views/accounts/register/imap.hbs:37
|
|
83
|
-
msgid "Enter your account password"
|
|
84
|
-
msgstr ""
|
|
85
|
-
|
|
86
|
-
#: views/accounts/register/imap.hbs:51
|
|
87
|
-
msgid "Continue"
|
|
88
|
-
msgstr ""
|
|
89
|
-
|
|
90
|
-
#: views/accounts/register/index.hbs:2
|
|
91
|
-
msgid "Choose your email account provider"
|
|
92
|
-
msgstr ""
|
|
93
|
-
|
|
94
|
-
#: views/accounts/register/index.hbs:15
|
|
95
|
-
msgid "Standard IMAP"
|
|
96
|
-
msgstr ""
|
|
97
|
-
|
|
98
58
|
#: views/unsubscribe.hbs:3
|
|
99
59
|
#: views/unsubscribe.hbs:62
|
|
100
60
|
#: views/unsubscribe.hbs:85
|
|
@@ -134,6 +94,46 @@ msgstr ""
|
|
|
134
94
|
msgid "Your email address <em>%s</em> was re-subscribed."
|
|
135
95
|
msgstr ""
|
|
136
96
|
|
|
97
|
+
#: views/unsubscribe.hbs:75
|
|
98
|
+
#: views/accounts/register/imap.hbs:21
|
|
99
|
+
msgid "Email address"
|
|
100
|
+
msgstr ""
|
|
101
|
+
|
|
102
|
+
#: views/unsubscribe.hbs:81
|
|
103
|
+
#: views/accounts/register/imap.hbs:27
|
|
104
|
+
msgid "Enter your email address"
|
|
105
|
+
msgstr ""
|
|
106
|
+
|
|
107
|
+
#: views/accounts/register/imap.hbs:11
|
|
108
|
+
msgid "Your name"
|
|
109
|
+
msgstr ""
|
|
110
|
+
|
|
111
|
+
#: views/accounts/register/imap.hbs:17
|
|
112
|
+
msgid "Enter your full name"
|
|
113
|
+
msgstr ""
|
|
114
|
+
|
|
115
|
+
#: views/accounts/register/imap.hbs:31
|
|
116
|
+
#: views/accounts/register/imap-server.hbs:36
|
|
117
|
+
#: views/accounts/register/imap-server.hbs:128
|
|
118
|
+
msgid "Password"
|
|
119
|
+
msgstr ""
|
|
120
|
+
|
|
121
|
+
#: views/accounts/register/imap.hbs:37
|
|
122
|
+
msgid "Enter your account password"
|
|
123
|
+
msgstr ""
|
|
124
|
+
|
|
125
|
+
#: views/accounts/register/imap.hbs:51
|
|
126
|
+
msgid "Continue"
|
|
127
|
+
msgstr ""
|
|
128
|
+
|
|
129
|
+
#: views/accounts/register/index.hbs:2
|
|
130
|
+
msgid "Choose your email account provider"
|
|
131
|
+
msgstr ""
|
|
132
|
+
|
|
133
|
+
#: views/accounts/register/index.hbs:15
|
|
134
|
+
msgid "Standard IMAP"
|
|
135
|
+
msgstr ""
|
|
136
|
+
|
|
137
137
|
#: views/accounts/register/imap-server.hbs:19
|
|
138
138
|
msgid "IMAP"
|
|
139
139
|
msgstr ""
|
|
@@ -249,149 +249,149 @@ msgstr ""
|
|
|
249
249
|
msgid "Request failed."
|
|
250
250
|
msgstr ""
|
|
251
251
|
|
|
252
|
-
#:
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
#: lib/ui-routes/account-routes.js:843
|
|
259
|
-
#: lib/ui-routes/account-routes.js:879
|
|
260
|
-
msgid "Email Account Setup"
|
|
261
|
-
msgstr ""
|
|
262
|
-
|
|
263
|
-
#: workers/api.js:2958
|
|
264
|
-
#: workers/api.js:3075
|
|
265
|
-
msgid "Requested page not found"
|
|
252
|
+
#: lib/autodetect-imap-settings.js:80
|
|
253
|
+
msgid ""
|
|
254
|
+
"Microsoft has disabled password-based sign-ins (including app passwords) "
|
|
255
|
+
"for Outlook.com, Hotmail.com, and Microsoft 365 email accounts. To "
|
|
256
|
+
"continue, please use the \"Sign in with Microsoft\" button to securely "
|
|
257
|
+
"connect your account."
|
|
266
258
|
msgstr ""
|
|
267
259
|
|
|
268
|
-
#: lib/tools.js:
|
|
269
|
-
#: lib/ui-routes/unsubscribe-routes.js:
|
|
260
|
+
#: lib/tools.js:975
|
|
261
|
+
#: lib/ui-routes/unsubscribe-routes.js:28
|
|
270
262
|
msgid "Invalid input"
|
|
271
263
|
msgstr ""
|
|
272
264
|
|
|
273
|
-
#: lib/tools.js:
|
|
265
|
+
#: lib/tools.js:1742
|
|
274
266
|
msgid "Signature validation failed"
|
|
275
267
|
msgstr ""
|
|
276
268
|
|
|
277
|
-
#: lib/tools.js:
|
|
278
|
-
#: lib/tools.js:
|
|
269
|
+
#: lib/tools.js:1751
|
|
270
|
+
#: lib/tools.js:1756
|
|
279
271
|
msgid "Invalid or expired account setup URL"
|
|
280
272
|
msgstr ""
|
|
281
273
|
|
|
282
|
-
#: lib/
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
274
|
+
#: lib/ui-routes/account-routes.js:402
|
|
275
|
+
#: lib/ui-routes/account-routes.js:437
|
|
276
|
+
#: lib/ui-routes/account-routes.js:552
|
|
277
|
+
#: lib/ui-routes/account-routes.js:599
|
|
278
|
+
#: lib/ui-routes/account-routes.js:846
|
|
279
|
+
#: lib/ui-routes/account-routes.js:882
|
|
280
|
+
#: workers/api.js:2158
|
|
281
|
+
#: workers/api.js:2486
|
|
282
|
+
msgid "Email Account Setup"
|
|
288
283
|
msgstr ""
|
|
289
284
|
|
|
285
|
+
#: lib/ui-routes/account-routes.js:462
|
|
286
|
+
#: lib/ui-routes/account-routes.js:495
|
|
287
|
+
#: lib/ui-routes/unsubscribe-routes.js:65
|
|
288
|
+
msgid "Invalid request. Check your input and try again."
|
|
289
|
+
msgstr ""
|
|
290
|
+
|
|
291
|
+
#: lib/ui-routes/account-routes.js:592
|
|
292
|
+
#: lib/ui-routes/account-routes.js:875
|
|
293
|
+
msgid "Couldn't set up account. Try again."
|
|
294
|
+
msgstr ""
|
|
295
|
+
|
|
296
|
+
#: lib/ui-routes/account-routes.js:655
|
|
297
|
+
#: lib/ui-routes/account-routes.js:666
|
|
290
298
|
#: lib/ui-routes/admin-entities-routes.js:2020
|
|
291
|
-
#: lib/ui-routes/account-routes.js:652
|
|
292
|
-
#: lib/ui-routes/account-routes.js:663
|
|
293
299
|
msgid "Server hostname was not found"
|
|
294
300
|
msgstr ""
|
|
295
301
|
|
|
302
|
+
#: lib/ui-routes/account-routes.js:658
|
|
303
|
+
#: lib/ui-routes/account-routes.js:669
|
|
296
304
|
#: lib/ui-routes/admin-entities-routes.js:2023
|
|
297
|
-
#: lib/ui-routes/account-routes.js:655
|
|
298
|
-
#: lib/ui-routes/account-routes.js:666
|
|
299
305
|
msgid "Invalid username or password"
|
|
300
306
|
msgstr ""
|
|
301
307
|
|
|
308
|
+
#: lib/ui-routes/account-routes.js:672
|
|
302
309
|
#: lib/ui-routes/admin-entities-routes.js:2026
|
|
303
|
-
#: lib/ui-routes/account-routes.js:669
|
|
304
310
|
msgid "Authentication credentials were not provided"
|
|
305
311
|
msgstr ""
|
|
306
312
|
|
|
313
|
+
#: lib/ui-routes/account-routes.js:675
|
|
307
314
|
#: lib/ui-routes/admin-entities-routes.js:2029
|
|
308
|
-
#: lib/ui-routes/account-routes.js:672
|
|
309
315
|
msgid "OAuth2 authentication failed"
|
|
310
316
|
msgstr ""
|
|
311
317
|
|
|
318
|
+
#: lib/ui-routes/account-routes.js:678
|
|
319
|
+
#: lib/ui-routes/account-routes.js:682
|
|
312
320
|
#: lib/ui-routes/admin-entities-routes.js:2032
|
|
313
321
|
#: lib/ui-routes/admin-entities-routes.js:2036
|
|
314
|
-
#: lib/ui-routes/account-routes.js:675
|
|
315
|
-
#: lib/ui-routes/account-routes.js:679
|
|
316
322
|
msgid "TLS protocol error"
|
|
317
323
|
msgstr ""
|
|
318
324
|
|
|
325
|
+
#: lib/ui-routes/account-routes.js:686
|
|
319
326
|
#: lib/ui-routes/admin-entities-routes.js:2040
|
|
320
|
-
#: lib/ui-routes/account-routes.js:683
|
|
321
327
|
msgid "Connection timed out"
|
|
322
328
|
msgstr ""
|
|
323
329
|
|
|
330
|
+
#: lib/ui-routes/account-routes.js:689
|
|
324
331
|
#: lib/ui-routes/admin-entities-routes.js:2043
|
|
325
|
-
#: lib/ui-routes/account-routes.js:686
|
|
326
332
|
msgid "Could not connect to server"
|
|
327
333
|
msgstr ""
|
|
328
334
|
|
|
335
|
+
#: lib/ui-routes/account-routes.js:692
|
|
329
336
|
#: lib/ui-routes/admin-entities-routes.js:2046
|
|
330
|
-
#: lib/ui-routes/account-routes.js:689
|
|
331
337
|
msgid "Unexpected server response"
|
|
332
338
|
msgstr ""
|
|
333
339
|
|
|
334
|
-
#: lib/ui-routes/
|
|
335
|
-
|
|
336
|
-
#: lib/ui-routes/unsubscribe-routes.js:67
|
|
337
|
-
msgid "Invalid request. Check your input and try again."
|
|
338
|
-
msgstr ""
|
|
339
|
-
|
|
340
|
-
#: lib/ui-routes/account-routes.js:589
|
|
341
|
-
#: lib/ui-routes/account-routes.js:872
|
|
342
|
-
msgid "Couldn't set up account. Try again."
|
|
340
|
+
#: lib/ui-routes/admin-config-routes.js:145
|
|
341
|
+
msgid "Invalid API key for OpenAI"
|
|
343
342
|
msgstr ""
|
|
344
343
|
|
|
345
|
-
#: lib/ui-routes/oauth-config-routes.js:
|
|
344
|
+
#: lib/ui-routes/oauth-config-routes.js:210
|
|
346
345
|
msgid "Unknown"
|
|
347
346
|
msgstr ""
|
|
348
347
|
|
|
349
|
-
#: lib/ui-routes/oauth-config-routes.js:
|
|
348
|
+
#: lib/ui-routes/oauth-config-routes.js:219
|
|
350
349
|
msgid "Indefinite"
|
|
351
350
|
msgstr ""
|
|
352
351
|
|
|
353
|
-
#: lib/ui-routes/
|
|
354
|
-
msgid "Invalid API key for OpenAI"
|
|
355
|
-
msgstr ""
|
|
356
|
-
|
|
357
|
-
#: lib/ui-routes/route-helpers.js:83
|
|
352
|
+
#: lib/ui-routes/route-helpers.js:81
|
|
358
353
|
msgid "Delegated"
|
|
359
354
|
msgstr ""
|
|
360
355
|
|
|
361
|
-
#: lib/ui-routes/route-helpers.js:
|
|
356
|
+
#: lib/ui-routes/route-helpers.js:82
|
|
362
357
|
msgid "Using credentials from \"%s\""
|
|
363
358
|
msgstr ""
|
|
364
359
|
|
|
365
|
-
#: lib/ui-routes/route-helpers.js:
|
|
360
|
+
#: lib/ui-routes/route-helpers.js:132
|
|
366
361
|
msgid ""
|
|
367
362
|
"Connection timed out. This usually occurs if you are behind a firewall or "
|
|
368
363
|
"connecting to the wrong port."
|
|
369
364
|
msgstr ""
|
|
370
365
|
|
|
371
|
-
#: lib/ui-routes/route-helpers.js:
|
|
366
|
+
#: lib/ui-routes/route-helpers.js:135
|
|
372
367
|
msgid "The server unexpectedly closed the connection."
|
|
373
368
|
msgstr ""
|
|
374
369
|
|
|
375
|
-
#: lib/ui-routes/route-helpers.js:
|
|
370
|
+
#: lib/ui-routes/route-helpers.js:138
|
|
376
371
|
msgid ""
|
|
377
372
|
"The server unexpectedly closed the connection. This usually happens when "
|
|
378
373
|
"attempting to connect to a TLS port without TLS enabled."
|
|
379
374
|
msgstr ""
|
|
380
375
|
|
|
381
|
-
#: lib/ui-routes/route-helpers.js:
|
|
376
|
+
#: lib/ui-routes/route-helpers.js:143
|
|
382
377
|
msgid ""
|
|
383
378
|
"The server refused the connection. This typically occurs if the server is "
|
|
384
379
|
"not running, is overloaded, or you are connecting to the wrong host or port."
|
|
385
380
|
msgstr ""
|
|
386
381
|
|
|
387
|
-
#: lib/ui-routes/unsubscribe-routes.js:
|
|
388
|
-
#: lib/ui-routes/unsubscribe-routes.js:
|
|
389
|
-
#: lib/ui-routes/unsubscribe-routes.js:
|
|
390
|
-
#: lib/ui-routes/unsubscribe-routes.js:
|
|
382
|
+
#: lib/ui-routes/unsubscribe-routes.js:38
|
|
383
|
+
#: lib/ui-routes/unsubscribe-routes.js:156
|
|
384
|
+
#: lib/ui-routes/unsubscribe-routes.js:173
|
|
385
|
+
#: lib/ui-routes/unsubscribe-routes.js:209
|
|
391
386
|
msgid "Subscription Management"
|
|
392
387
|
msgstr ""
|
|
393
388
|
|
|
394
|
-
#: lib/ui-routes/unsubscribe-routes.js:
|
|
395
|
-
#: lib/ui-routes/unsubscribe-routes.js:
|
|
389
|
+
#: lib/ui-routes/unsubscribe-routes.js:167
|
|
390
|
+
#: lib/ui-routes/unsubscribe-routes.js:202
|
|
396
391
|
msgid "Couldn't process request. Try again."
|
|
397
|
-
msgstr ""
|
|
392
|
+
msgstr ""
|
|
393
|
+
|
|
394
|
+
#: workers/api.js:2956
|
|
395
|
+
#: workers/api.js:3071
|
|
396
|
+
msgid "Requested page not found"
|
|
397
|
+
msgstr ""
|
package/translations/nl.mo
CHANGED
|
Binary file
|