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.
Files changed (97) hide show
  1. package/.github/workflows/deploy.yml +6 -3
  2. package/.github/workflows/release.yaml +2 -0
  3. package/.github/workflows/test.yml +73 -12
  4. package/.ncurc.js +3 -3
  5. package/CHANGELOG.md +37 -0
  6. package/Gruntfile.js +21 -23
  7. package/bin/emailengine.js +8 -1
  8. package/config/default.toml +5 -0
  9. package/config/test.toml +5 -0
  10. package/data/google-crawlers.json +1 -1
  11. package/getswagger.sh +44 -4
  12. package/gettext-extract.js +163 -0
  13. package/lib/account.js +104 -72
  14. package/lib/api-routes/account-routes.js +231 -71
  15. package/lib/api-routes/blocklist-routes.js +25 -18
  16. package/lib/api-routes/chat-routes.js +32 -14
  17. package/lib/api-routes/delivery-test-routes.js +30 -5
  18. package/lib/api-routes/export-routes.js +27 -2
  19. package/lib/api-routes/gateway-routes.js +63 -12
  20. package/lib/api-routes/license-routes.js +18 -4
  21. package/lib/api-routes/mailbox-routes.js +33 -7
  22. package/lib/api-routes/message-routes.js +291 -145
  23. package/lib/api-routes/oauth2-app-routes.js +90 -24
  24. package/lib/api-routes/outbox-routes.js +16 -4
  25. package/lib/api-routes/pubsub-routes.js +8 -4
  26. package/lib/api-routes/route-helpers.js +14 -1
  27. package/lib/api-routes/settings-routes.js +51 -25
  28. package/lib/api-routes/stats-routes.js +37 -3
  29. package/lib/api-routes/submit-routes.js +31 -42
  30. package/lib/api-routes/template-routes.js +54 -21
  31. package/lib/api-routes/token-routes.js +67 -67
  32. package/lib/api-routes/webhook-route-routes.js +37 -8
  33. package/lib/autodetect-imap-settings.js +0 -2
  34. package/lib/consts.js +5 -0
  35. package/lib/document-store.js +22 -1
  36. package/lib/email-client/base-client.js +31 -8
  37. package/lib/email-client/gmail-client.js +119 -112
  38. package/lib/email-client/imap/mailbox.js +2 -2
  39. package/lib/email-client/imap/subconnection.js +0 -1
  40. package/lib/email-client/imap/sync-operations.js +1 -1
  41. package/lib/email-client/imap-client.js +36 -17
  42. package/lib/email-client/notification-handler.js +3 -6
  43. package/lib/email-client/outlook-client.js +49 -62
  44. package/lib/export.js +49 -1
  45. package/lib/feature-flags.js +8 -2
  46. package/lib/gateway.js +4 -9
  47. package/lib/get-raw-email.js +5 -5
  48. package/lib/imapproxy/imap-core/lib/imap-connection.js +0 -1
  49. package/lib/license-beacon.js +367 -0
  50. package/lib/logger.js +35 -22
  51. package/lib/metrics-collector.js +0 -2
  52. package/lib/oauth2-apps.js +13 -4
  53. package/lib/outbox.js +24 -40
  54. package/lib/redis-operations.js +1 -1
  55. package/lib/routes-ui.js +2 -1
  56. package/lib/schemas.js +403 -83
  57. package/lib/sentry.js +139 -0
  58. package/lib/settings.js +9 -3
  59. package/lib/stream-encrypt.js +1 -1
  60. package/lib/templates.js +1 -1
  61. package/lib/tokens.js +5 -3
  62. package/lib/tools.js +28 -6
  63. package/lib/ui-routes/account-routes.js +7 -4
  64. package/lib/ui-routes/admin-config-routes.js +20 -6
  65. package/lib/ui-routes/document-store-routes.js +7 -1
  66. package/lib/ui-routes/oauth-config-routes.js +0 -2
  67. package/lib/ui-routes/route-helpers.js +0 -2
  68. package/lib/ui-routes/unsubscribe-routes.js +0 -2
  69. package/lib/webhooks.js +8 -4
  70. package/package.json +23 -19
  71. package/sbom.json +1 -1
  72. package/server.js +38 -31
  73. package/static/licenses.html +171 -391
  74. package/translations/de.mo +0 -0
  75. package/translations/de.po +154 -142
  76. package/translations/et.mo +0 -0
  77. package/translations/et.po +129 -131
  78. package/translations/fr.mo +0 -0
  79. package/translations/fr.po +133 -136
  80. package/translations/ja.mo +0 -0
  81. package/translations/ja.po +126 -129
  82. package/translations/messages.pot +107 -107
  83. package/translations/nl.mo +0 -0
  84. package/translations/nl.po +128 -130
  85. package/translations/pl.mo +0 -0
  86. package/translations/pl.po +125 -128
  87. package/update-info.sh +19 -1
  88. package/views/config/logging.hbs +48 -0
  89. package/views/dashboard.hbs +22 -0
  90. package/workers/api.js +33 -37
  91. package/workers/documents.js +2 -22
  92. package/workers/export.js +73 -92
  93. package/workers/imap-proxy.js +3 -23
  94. package/workers/imap.js +2 -22
  95. package/workers/smtp.js +2 -22
  96. package/workers/submit.js +6 -24
  97. 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-09 18:01+0000\n"
4
+ "POT-Creation-Date: 2026-06-15 18:35+0000\n"
5
5
 
6
6
  #: views/error.hbs:4
7
- #: workers/api.js:2959
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:219
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
- #: workers/api.js:2178
253
- #: workers/api.js:2506
254
- #: lib/ui-routes/account-routes.js:399
255
- #: lib/ui-routes/account-routes.js:434
256
- #: lib/ui-routes/account-routes.js:549
257
- #: lib/ui-routes/account-routes.js:596
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:958
269
- #: lib/ui-routes/unsubscribe-routes.js:30
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:1725
265
+ #: lib/tools.js:1742
274
266
  msgid "Signature validation failed"
275
267
  msgstr ""
276
268
 
277
- #: lib/tools.js:1734
278
- #: lib/tools.js:1739
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/autodetect-imap-settings.js:80
283
- msgid ""
284
- "Microsoft has disabled password-based sign-ins (including app passwords) "
285
- "for Outlook.com, Hotmail.com, and Microsoft 365 email accounts. To "
286
- "continue, please use the \"Sign in with Microsoft\" button to securely "
287
- "connect your account."
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/account-routes.js:459
335
- #: lib/ui-routes/account-routes.js:492
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:212
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:221
348
+ #: lib/ui-routes/oauth-config-routes.js:219
350
349
  msgid "Indefinite"
351
350
  msgstr ""
352
351
 
353
- #: lib/ui-routes/admin-config-routes.js:144
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:84
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:134
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:137
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:140
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:145
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:40
388
- #: lib/ui-routes/unsubscribe-routes.js:158
389
- #: lib/ui-routes/unsubscribe-routes.js:175
390
- #: lib/ui-routes/unsubscribe-routes.js:211
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:169
395
- #: lib/ui-routes/unsubscribe-routes.js:204
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 ""
Binary file