@serve.zone/dcrouter 2.12.4 → 5.0.2

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 (722) hide show
  1. package/.playwright-mcp/dcrouter-scrollbar-issue.png +0 -0
  2. package/.playwright-mcp/page-2026-02-01T23-10-23-737Z.png +0 -0
  3. package/.playwright-mcp/page-2026-02-01T23-11-19-449Z.png +0 -0
  4. package/.playwright-mcp/page-2026-02-01T23-12-03-126Z.png +0 -0
  5. package/.playwright-mcp/page-2026-02-01T23-12-15-576Z.png +0 -0
  6. package/changelog.md +103 -0
  7. package/npmextra.json +36 -2
  8. package/package.json +60 -46
  9. package/readme.hints.md +537 -670
  10. package/readme.md +659 -937
  11. package/test/test.contentscanner.ts +1 -1
  12. package/test/test.dcrouter.email.ts +70 -112
  13. package/test/test.dns-socket-handler.ts +75 -96
  14. package/test/test.errors.ts +3 -137
  15. package/test/test.jwt-auth.ts +1 -0
  16. package/test/test.opsserver-api.ts +1 -0
  17. package/test/test.protected-endpoint.ts +43 -38
  18. package/test_watch/devserver.ts +35 -0
  19. package/ts/00_commitinfo_data.ts +3 -3
  20. package/ts/cache/classes.cache.cleaner.ts +166 -0
  21. package/ts/cache/classes.cached.document.ts +111 -0
  22. package/ts/cache/classes.cachedb.ts +154 -0
  23. package/ts/cache/documents/classes.cached.email.ts +240 -0
  24. package/ts/cache/documents/classes.cached.ip.reputation.ts +247 -0
  25. package/ts/cache/documents/index.ts +2 -0
  26. package/ts/cache/index.ts +7 -0
  27. package/ts/classes.dcrouter.ts +229 -162
  28. package/ts/errors/index.ts +0 -2
  29. package/ts/index.ts +8 -2
  30. package/ts/monitoring/classes.metricscache.ts +75 -0
  31. package/ts/monitoring/classes.metricsmanager.ts +522 -0
  32. package/ts/monitoring/index.ts +1 -0
  33. package/ts/opsserver/classes.opsserver.ts +5 -1
  34. package/ts/opsserver/handlers/admin.handler.ts +1 -1
  35. package/ts/opsserver/handlers/config.handler.ts +16 -58
  36. package/ts/opsserver/handlers/email-ops.handler.ts +318 -0
  37. package/ts/opsserver/handlers/index.ts +3 -1
  38. package/ts/opsserver/handlers/radius.handler.ts +405 -0
  39. package/ts/opsserver/handlers/security.handler.ts +115 -6
  40. package/ts/opsserver/handlers/stats.handler.ts +177 -18
  41. package/ts/paths.ts +9 -9
  42. package/ts/plugins.ts +73 -11
  43. package/ts/radius/classes.accounting.manager.ts +607 -0
  44. package/ts/radius/classes.radius.server.ts +532 -0
  45. package/ts/radius/classes.vlan.manager.ts +363 -0
  46. package/ts/radius/index.ts +14 -0
  47. package/ts/security/classes.contentscanner.ts +2 -2
  48. package/ts/security/classes.ipreputationchecker.ts +2 -2
  49. package/ts/sms/classes.smsservice.ts +7 -9
  50. package/ts/storage/classes.storagemanager.ts +3 -3
  51. package/ts_interfaces/data/stats.ts +30 -0
  52. package/ts_interfaces/readme.md +205 -0
  53. package/ts_interfaces/requests/combined.stats.ts +25 -0
  54. package/ts_interfaces/requests/config.ts +1 -18
  55. package/ts_interfaces/requests/email-ops.ts +239 -0
  56. package/ts_interfaces/requests/index.ts +4 -1
  57. package/ts_interfaces/requests/radius.ts +329 -0
  58. package/ts_web/00_commitinfo_data.ts +3 -3
  59. package/ts_web/appstate.ts +523 -85
  60. package/ts_web/elements/index.ts +2 -1
  61. package/ts_web/elements/ops-dashboard.ts +117 -52
  62. package/ts_web/elements/ops-view-config.ts +236 -118
  63. package/ts_web/elements/ops-view-emails.ts +818 -0
  64. package/ts_web/elements/ops-view-logs.ts +14 -14
  65. package/ts_web/elements/ops-view-network.ts +580 -0
  66. package/ts_web/elements/ops-view-overview.ts +196 -110
  67. package/ts_web/elements/ops-view-security.ts +155 -96
  68. package/ts_web/elements/shared/ops-sectionheading.ts +1 -5
  69. package/ts_web/index.ts +4 -0
  70. package/ts_web/readme.md +211 -0
  71. package/ts_web/router.ts +181 -0
  72. package/tsconfig.json +0 -3
  73. package/dist_ts/00_commitinfo_data.d.ts +0 -8
  74. package/dist_ts/00_commitinfo_data.js +0 -9
  75. package/dist_ts/classes.dcrouter.d.ts +0 -238
  76. package/dist_ts/classes.dcrouter.js +0 -1008
  77. package/dist_ts/config/index.d.ts +0 -1
  78. package/dist_ts/config/index.js +0 -3
  79. package/dist_ts/config/validator.d.ts +0 -104
  80. package/dist_ts/config/validator.js +0 -152
  81. package/dist_ts/deliverability/classes.ipwarmupmanager.d.ts +0 -253
  82. package/dist_ts/deliverability/classes.ipwarmupmanager.js +0 -639
  83. package/dist_ts/deliverability/classes.senderreputationmonitor.d.ts +0 -300
  84. package/dist_ts/deliverability/classes.senderreputationmonitor.js +0 -961
  85. package/dist_ts/deliverability/index.d.ts +0 -2
  86. package/dist_ts/deliverability/index.js +0 -3
  87. package/dist_ts/errors/base.errors.d.ts +0 -224
  88. package/dist_ts/errors/base.errors.js +0 -310
  89. package/dist_ts/errors/email.errors.d.ts +0 -175
  90. package/dist_ts/errors/email.errors.js +0 -265
  91. package/dist_ts/errors/error-handler.d.ts +0 -98
  92. package/dist_ts/errors/error-handler.js +0 -282
  93. package/dist_ts/errors/error.codes.d.ts +0 -115
  94. package/dist_ts/errors/error.codes.js +0 -136
  95. package/dist_ts/errors/index.d.ts +0 -56
  96. package/dist_ts/errors/index.js +0 -138
  97. package/dist_ts/errors/mta.errors.d.ts +0 -259
  98. package/dist_ts/errors/mta.errors.js +0 -472
  99. package/dist_ts/errors/reputation.errors.d.ts +0 -183
  100. package/dist_ts/errors/reputation.errors.js +0 -292
  101. package/dist_ts/index.d.ts +0 -4
  102. package/dist_ts/index.js +0 -6
  103. package/dist_ts/logger.d.ts +0 -17
  104. package/dist_ts/logger.js +0 -77
  105. package/dist_ts/mail/core/classes.bouncemanager.d.ts +0 -200
  106. package/dist_ts/mail/core/classes.bouncemanager.js +0 -778
  107. package/dist_ts/mail/core/classes.email.d.ts +0 -291
  108. package/dist_ts/mail/core/classes.email.js +0 -780
  109. package/dist_ts/mail/core/classes.emailvalidator.d.ts +0 -61
  110. package/dist_ts/mail/core/classes.emailvalidator.js +0 -182
  111. package/dist_ts/mail/core/classes.templatemanager.d.ts +0 -95
  112. package/dist_ts/mail/core/classes.templatemanager.js +0 -239
  113. package/dist_ts/mail/core/index.d.ts +0 -4
  114. package/dist_ts/mail/core/index.js +0 -6
  115. package/dist_ts/mail/delivery/classes.delivery.queue.d.ts +0 -163
  116. package/dist_ts/mail/delivery/classes.delivery.queue.js +0 -485
  117. package/dist_ts/mail/delivery/classes.delivery.system.d.ts +0 -186
  118. package/dist_ts/mail/delivery/classes.delivery.system.js +0 -846
  119. package/dist_ts/mail/delivery/classes.emailsendjob.d.ts +0 -84
  120. package/dist_ts/mail/delivery/classes.emailsendjob.js +0 -362
  121. package/dist_ts/mail/delivery/classes.emailsignjob.d.ts +0 -18
  122. package/dist_ts/mail/delivery/classes.emailsignjob.js +0 -44
  123. package/dist_ts/mail/delivery/classes.mta.config.d.ts +0 -22
  124. package/dist_ts/mail/delivery/classes.mta.config.js +0 -51
  125. package/dist_ts/mail/delivery/classes.ratelimiter.d.ts +0 -98
  126. package/dist_ts/mail/delivery/classes.ratelimiter.js +0 -205
  127. package/dist_ts/mail/delivery/classes.smtp.client.legacy.d.ts +0 -275
  128. package/dist_ts/mail/delivery/classes.smtp.client.legacy.js +0 -973
  129. package/dist_ts/mail/delivery/classes.unified.rate.limiter.d.ts +0 -200
  130. package/dist_ts/mail/delivery/classes.unified.rate.limiter.js +0 -817
  131. package/dist_ts/mail/delivery/index.d.ts +0 -12
  132. package/dist_ts/mail/delivery/index.js +0 -18
  133. package/dist_ts/mail/delivery/interfaces.d.ts +0 -243
  134. package/dist_ts/mail/delivery/interfaces.js +0 -17
  135. package/dist_ts/mail/delivery/smtpclient/auth-handler.d.ts +0 -43
  136. package/dist_ts/mail/delivery/smtpclient/auth-handler.js +0 -188
  137. package/dist_ts/mail/delivery/smtpclient/command-handler.d.ts +0 -67
  138. package/dist_ts/mail/delivery/smtpclient/command-handler.js +0 -276
  139. package/dist_ts/mail/delivery/smtpclient/connection-manager.d.ts +0 -48
  140. package/dist_ts/mail/delivery/smtpclient/connection-manager.js +0 -238
  141. package/dist_ts/mail/delivery/smtpclient/constants.d.ts +0 -129
  142. package/dist_ts/mail/delivery/smtpclient/constants.js +0 -135
  143. package/dist_ts/mail/delivery/smtpclient/create-client.d.ts +0 -22
  144. package/dist_ts/mail/delivery/smtpclient/create-client.js +0 -86
  145. package/dist_ts/mail/delivery/smtpclient/error-handler.d.ts +0 -28
  146. package/dist_ts/mail/delivery/smtpclient/error-handler.js +0 -110
  147. package/dist_ts/mail/delivery/smtpclient/index.d.ts +0 -16
  148. package/dist_ts/mail/delivery/smtpclient/index.js +0 -21
  149. package/dist_ts/mail/delivery/smtpclient/interfaces.d.ts +0 -183
  150. package/dist_ts/mail/delivery/smtpclient/interfaces.js +0 -19
  151. package/dist_ts/mail/delivery/smtpclient/smtp-client.d.ts +0 -58
  152. package/dist_ts/mail/delivery/smtpclient/smtp-client.js +0 -279
  153. package/dist_ts/mail/delivery/smtpclient/tls-handler.d.ts +0 -33
  154. package/dist_ts/mail/delivery/smtpclient/tls-handler.js +0 -202
  155. package/dist_ts/mail/delivery/smtpclient/utils/helpers.d.ts +0 -77
  156. package/dist_ts/mail/delivery/smtpclient/utils/helpers.js +0 -196
  157. package/dist_ts/mail/delivery/smtpclient/utils/logging.d.ts +0 -46
  158. package/dist_ts/mail/delivery/smtpclient/utils/logging.js +0 -153
  159. package/dist_ts/mail/delivery/smtpclient/utils/validation.d.ts +0 -38
  160. package/dist_ts/mail/delivery/smtpclient/utils/validation.js +0 -139
  161. package/dist_ts/mail/delivery/smtpserver/certificate-utils.d.ts +0 -45
  162. package/dist_ts/mail/delivery/smtpserver/certificate-utils.js +0 -345
  163. package/dist_ts/mail/delivery/smtpserver/command-handler.d.ts +0 -156
  164. package/dist_ts/mail/delivery/smtpserver/command-handler.js +0 -1159
  165. package/dist_ts/mail/delivery/smtpserver/connection-manager.d.ts +0 -159
  166. package/dist_ts/mail/delivery/smtpserver/connection-manager.js +0 -894
  167. package/dist_ts/mail/delivery/smtpserver/constants.d.ts +0 -130
  168. package/dist_ts/mail/delivery/smtpserver/constants.js +0 -162
  169. package/dist_ts/mail/delivery/smtpserver/create-server.d.ts +0 -14
  170. package/dist_ts/mail/delivery/smtpserver/create-server.js +0 -28
  171. package/dist_ts/mail/delivery/smtpserver/data-handler.d.ts +0 -123
  172. package/dist_ts/mail/delivery/smtpserver/data-handler.js +0 -1148
  173. package/dist_ts/mail/delivery/smtpserver/index.d.ts +0 -20
  174. package/dist_ts/mail/delivery/smtpserver/index.js +0 -27
  175. package/dist_ts/mail/delivery/smtpserver/interfaces.d.ts +0 -530
  176. package/dist_ts/mail/delivery/smtpserver/interfaces.js +0 -10
  177. package/dist_ts/mail/delivery/smtpserver/secure-server.d.ts +0 -15
  178. package/dist_ts/mail/delivery/smtpserver/secure-server.js +0 -79
  179. package/dist_ts/mail/delivery/smtpserver/security-handler.d.ts +0 -86
  180. package/dist_ts/mail/delivery/smtpserver/security-handler.js +0 -234
  181. package/dist_ts/mail/delivery/smtpserver/session-manager.d.ts +0 -140
  182. package/dist_ts/mail/delivery/smtpserver/session-manager.js +0 -469
  183. package/dist_ts/mail/delivery/smtpserver/smtp-server.d.ts +0 -137
  184. package/dist_ts/mail/delivery/smtpserver/smtp-server.js +0 -666
  185. package/dist_ts/mail/delivery/smtpserver/starttls-handler.d.ts +0 -21
  186. package/dist_ts/mail/delivery/smtpserver/starttls-handler.js +0 -207
  187. package/dist_ts/mail/delivery/smtpserver/tls-handler.d.ts +0 -66
  188. package/dist_ts/mail/delivery/smtpserver/tls-handler.js +0 -261
  189. package/dist_ts/mail/delivery/smtpserver/utils/adaptive-logging.d.ts +0 -117
  190. package/dist_ts/mail/delivery/smtpserver/utils/adaptive-logging.js +0 -411
  191. package/dist_ts/mail/delivery/smtpserver/utils/helpers.d.ts +0 -78
  192. package/dist_ts/mail/delivery/smtpserver/utils/helpers.js +0 -208
  193. package/dist_ts/mail/delivery/smtpserver/utils/logging.d.ts +0 -106
  194. package/dist_ts/mail/delivery/smtpserver/utils/logging.js +0 -181
  195. package/dist_ts/mail/delivery/smtpserver/utils/validation.d.ts +0 -69
  196. package/dist_ts/mail/delivery/smtpserver/utils/validation.js +0 -360
  197. package/dist_ts/mail/index.d.ts +0 -8
  198. package/dist_ts/mail/index.js +0 -13
  199. package/dist_ts/mail/routing/classes.dns.manager.d.ts +0 -65
  200. package/dist_ts/mail/routing/classes.dns.manager.js +0 -413
  201. package/dist_ts/mail/routing/classes.dnsmanager.d.ts +0 -165
  202. package/dist_ts/mail/routing/classes.dnsmanager.js +0 -430
  203. package/dist_ts/mail/routing/classes.domain.registry.d.ts +0 -54
  204. package/dist_ts/mail/routing/classes.domain.registry.js +0 -118
  205. package/dist_ts/mail/routing/classes.email.config.d.ts +0 -64
  206. package/dist_ts/mail/routing/classes.email.config.js +0 -2
  207. package/dist_ts/mail/routing/classes.email.router.d.ts +0 -171
  208. package/dist_ts/mail/routing/classes.email.router.js +0 -491
  209. package/dist_ts/mail/routing/classes.unified.email.server.d.ts +0 -426
  210. package/dist_ts/mail/routing/classes.unified.email.server.js +0 -1454
  211. package/dist_ts/mail/routing/index.d.ts +0 -5
  212. package/dist_ts/mail/routing/index.js +0 -7
  213. package/dist_ts/mail/routing/interfaces.d.ts +0 -187
  214. package/dist_ts/mail/routing/interfaces.js +0 -2
  215. package/dist_ts/mail/security/classes.dkimcreator.d.ts +0 -68
  216. package/dist_ts/mail/security/classes.dkimcreator.js +0 -346
  217. package/dist_ts/mail/security/classes.dkimverifier.d.ts +0 -46
  218. package/dist_ts/mail/security/classes.dkimverifier.js +0 -317
  219. package/dist_ts/mail/security/classes.dmarcverifier.d.ts +0 -123
  220. package/dist_ts/mail/security/classes.dmarcverifier.js +0 -365
  221. package/dist_ts/mail/security/classes.spfverifier.d.ts +0 -103
  222. package/dist_ts/mail/security/classes.spfverifier.js +0 -492
  223. package/dist_ts/mail/security/index.d.ts +0 -4
  224. package/dist_ts/mail/security/index.js +0 -6
  225. package/dist_ts/opsserver/classes.opsserver.d.ts +0 -14
  226. package/dist_ts/opsserver/classes.opsserver.js +0 -37
  227. package/dist_ts/opsserver/index.d.ts +0 -1
  228. package/dist_ts/opsserver/index.js +0 -2
  229. package/dist_ts/paths.d.ts +0 -14
  230. package/dist_ts/paths.js +0 -39
  231. package/dist_ts/plugins.d.ts +0 -43
  232. package/dist_ts/plugins.js +0 -50
  233. package/dist_ts/security/classes.contentscanner.d.ts +0 -160
  234. package/dist_ts/security/classes.contentscanner.js +0 -634
  235. package/dist_ts/security/classes.ipreputationchecker.d.ts +0 -150
  236. package/dist_ts/security/classes.ipreputationchecker.js +0 -508
  237. package/dist_ts/security/classes.securitylogger.d.ts +0 -140
  238. package/dist_ts/security/classes.securitylogger.js +0 -232
  239. package/dist_ts/security/index.d.ts +0 -3
  240. package/dist_ts/security/index.js +0 -4
  241. package/dist_ts/sms/classes.smsservice.d.ts +0 -15
  242. package/dist_ts/sms/classes.smsservice.js +0 -72
  243. package/dist_ts/sms/config/sms.config.d.ts +0 -93
  244. package/dist_ts/sms/config/sms.config.js +0 -2
  245. package/dist_ts/sms/config/sms.schema.d.ts +0 -5
  246. package/dist_ts/sms/config/sms.schema.js +0 -121
  247. package/dist_ts/sms/index.d.ts +0 -1
  248. package/dist_ts/sms/index.js +0 -2
  249. package/dist_ts/storage/classes.storagemanager.d.ts +0 -82
  250. package/dist_ts/storage/classes.storagemanager.js +0 -341
  251. package/dist_ts/storage/index.d.ts +0 -1
  252. package/dist_ts/storage/index.js +0 -3
  253. package/dist_ts/ts/00_commitinfo_data.d.ts +0 -8
  254. package/dist_ts/ts/00_commitinfo_data.js +0 -9
  255. package/dist_ts/ts/classes.dcrouter.d.ts +0 -238
  256. package/dist_ts/ts/classes.dcrouter.js +0 -1008
  257. package/dist_ts/ts/config/index.d.ts +0 -1
  258. package/dist_ts/ts/config/index.js +0 -3
  259. package/dist_ts/ts/config/validator.d.ts +0 -104
  260. package/dist_ts/ts/config/validator.js +0 -152
  261. package/dist_ts/ts/deliverability/classes.ipwarmupmanager.d.ts +0 -253
  262. package/dist_ts/ts/deliverability/classes.ipwarmupmanager.js +0 -639
  263. package/dist_ts/ts/deliverability/classes.senderreputationmonitor.d.ts +0 -300
  264. package/dist_ts/ts/deliverability/classes.senderreputationmonitor.js +0 -961
  265. package/dist_ts/ts/deliverability/index.d.ts +0 -2
  266. package/dist_ts/ts/deliverability/index.js +0 -3
  267. package/dist_ts/ts/errors/base.errors.d.ts +0 -224
  268. package/dist_ts/ts/errors/base.errors.js +0 -310
  269. package/dist_ts/ts/errors/email.errors.d.ts +0 -175
  270. package/dist_ts/ts/errors/email.errors.js +0 -265
  271. package/dist_ts/ts/errors/error-handler.d.ts +0 -98
  272. package/dist_ts/ts/errors/error-handler.js +0 -282
  273. package/dist_ts/ts/errors/error.codes.d.ts +0 -115
  274. package/dist_ts/ts/errors/error.codes.js +0 -136
  275. package/dist_ts/ts/errors/index.d.ts +0 -56
  276. package/dist_ts/ts/errors/index.js +0 -138
  277. package/dist_ts/ts/errors/mta.errors.d.ts +0 -259
  278. package/dist_ts/ts/errors/mta.errors.js +0 -472
  279. package/dist_ts/ts/errors/reputation.errors.d.ts +0 -183
  280. package/dist_ts/ts/errors/reputation.errors.js +0 -292
  281. package/dist_ts/ts/index.d.ts +0 -4
  282. package/dist_ts/ts/index.js +0 -6
  283. package/dist_ts/ts/logger.d.ts +0 -17
  284. package/dist_ts/ts/logger.js +0 -77
  285. package/dist_ts/ts/mail/core/classes.bouncemanager.d.ts +0 -200
  286. package/dist_ts/ts/mail/core/classes.bouncemanager.js +0 -778
  287. package/dist_ts/ts/mail/core/classes.email.d.ts +0 -291
  288. package/dist_ts/ts/mail/core/classes.email.js +0 -780
  289. package/dist_ts/ts/mail/core/classes.emailvalidator.d.ts +0 -61
  290. package/dist_ts/ts/mail/core/classes.emailvalidator.js +0 -182
  291. package/dist_ts/ts/mail/core/classes.templatemanager.d.ts +0 -95
  292. package/dist_ts/ts/mail/core/classes.templatemanager.js +0 -239
  293. package/dist_ts/ts/mail/core/index.d.ts +0 -4
  294. package/dist_ts/ts/mail/core/index.js +0 -6
  295. package/dist_ts/ts/mail/delivery/classes.delivery.queue.d.ts +0 -163
  296. package/dist_ts/ts/mail/delivery/classes.delivery.queue.js +0 -485
  297. package/dist_ts/ts/mail/delivery/classes.delivery.system.d.ts +0 -186
  298. package/dist_ts/ts/mail/delivery/classes.delivery.system.js +0 -846
  299. package/dist_ts/ts/mail/delivery/classes.emailsendjob.d.ts +0 -84
  300. package/dist_ts/ts/mail/delivery/classes.emailsendjob.js +0 -362
  301. package/dist_ts/ts/mail/delivery/classes.emailsignjob.d.ts +0 -18
  302. package/dist_ts/ts/mail/delivery/classes.emailsignjob.js +0 -44
  303. package/dist_ts/ts/mail/delivery/classes.mta.config.d.ts +0 -22
  304. package/dist_ts/ts/mail/delivery/classes.mta.config.js +0 -51
  305. package/dist_ts/ts/mail/delivery/classes.ratelimiter.d.ts +0 -98
  306. package/dist_ts/ts/mail/delivery/classes.ratelimiter.js +0 -205
  307. package/dist_ts/ts/mail/delivery/classes.smtp.client.legacy.d.ts +0 -275
  308. package/dist_ts/ts/mail/delivery/classes.smtp.client.legacy.js +0 -973
  309. package/dist_ts/ts/mail/delivery/classes.unified.rate.limiter.d.ts +0 -200
  310. package/dist_ts/ts/mail/delivery/classes.unified.rate.limiter.js +0 -817
  311. package/dist_ts/ts/mail/delivery/index.d.ts +0 -12
  312. package/dist_ts/ts/mail/delivery/index.js +0 -18
  313. package/dist_ts/ts/mail/delivery/interfaces.d.ts +0 -243
  314. package/dist_ts/ts/mail/delivery/interfaces.js +0 -17
  315. package/dist_ts/ts/mail/delivery/smtpclient/auth-handler.d.ts +0 -43
  316. package/dist_ts/ts/mail/delivery/smtpclient/auth-handler.js +0 -188
  317. package/dist_ts/ts/mail/delivery/smtpclient/command-handler.d.ts +0 -67
  318. package/dist_ts/ts/mail/delivery/smtpclient/command-handler.js +0 -276
  319. package/dist_ts/ts/mail/delivery/smtpclient/connection-manager.d.ts +0 -48
  320. package/dist_ts/ts/mail/delivery/smtpclient/connection-manager.js +0 -238
  321. package/dist_ts/ts/mail/delivery/smtpclient/constants.d.ts +0 -129
  322. package/dist_ts/ts/mail/delivery/smtpclient/constants.js +0 -135
  323. package/dist_ts/ts/mail/delivery/smtpclient/create-client.d.ts +0 -22
  324. package/dist_ts/ts/mail/delivery/smtpclient/create-client.js +0 -86
  325. package/dist_ts/ts/mail/delivery/smtpclient/error-handler.d.ts +0 -28
  326. package/dist_ts/ts/mail/delivery/smtpclient/error-handler.js +0 -110
  327. package/dist_ts/ts/mail/delivery/smtpclient/index.d.ts +0 -16
  328. package/dist_ts/ts/mail/delivery/smtpclient/index.js +0 -21
  329. package/dist_ts/ts/mail/delivery/smtpclient/interfaces.d.ts +0 -183
  330. package/dist_ts/ts/mail/delivery/smtpclient/interfaces.js +0 -19
  331. package/dist_ts/ts/mail/delivery/smtpclient/smtp-client.d.ts +0 -58
  332. package/dist_ts/ts/mail/delivery/smtpclient/smtp-client.js +0 -279
  333. package/dist_ts/ts/mail/delivery/smtpclient/tls-handler.d.ts +0 -33
  334. package/dist_ts/ts/mail/delivery/smtpclient/tls-handler.js +0 -202
  335. package/dist_ts/ts/mail/delivery/smtpclient/utils/helpers.d.ts +0 -77
  336. package/dist_ts/ts/mail/delivery/smtpclient/utils/helpers.js +0 -196
  337. package/dist_ts/ts/mail/delivery/smtpclient/utils/logging.d.ts +0 -46
  338. package/dist_ts/ts/mail/delivery/smtpclient/utils/logging.js +0 -153
  339. package/dist_ts/ts/mail/delivery/smtpclient/utils/validation.d.ts +0 -38
  340. package/dist_ts/ts/mail/delivery/smtpclient/utils/validation.js +0 -139
  341. package/dist_ts/ts/mail/delivery/smtpserver/certificate-utils.d.ts +0 -45
  342. package/dist_ts/ts/mail/delivery/smtpserver/certificate-utils.js +0 -345
  343. package/dist_ts/ts/mail/delivery/smtpserver/command-handler.d.ts +0 -156
  344. package/dist_ts/ts/mail/delivery/smtpserver/command-handler.js +0 -1159
  345. package/dist_ts/ts/mail/delivery/smtpserver/connection-manager.d.ts +0 -159
  346. package/dist_ts/ts/mail/delivery/smtpserver/connection-manager.js +0 -894
  347. package/dist_ts/ts/mail/delivery/smtpserver/constants.d.ts +0 -130
  348. package/dist_ts/ts/mail/delivery/smtpserver/constants.js +0 -162
  349. package/dist_ts/ts/mail/delivery/smtpserver/create-server.d.ts +0 -14
  350. package/dist_ts/ts/mail/delivery/smtpserver/create-server.js +0 -28
  351. package/dist_ts/ts/mail/delivery/smtpserver/data-handler.d.ts +0 -123
  352. package/dist_ts/ts/mail/delivery/smtpserver/data-handler.js +0 -1148
  353. package/dist_ts/ts/mail/delivery/smtpserver/index.d.ts +0 -20
  354. package/dist_ts/ts/mail/delivery/smtpserver/index.js +0 -27
  355. package/dist_ts/ts/mail/delivery/smtpserver/interfaces.d.ts +0 -530
  356. package/dist_ts/ts/mail/delivery/smtpserver/interfaces.js +0 -10
  357. package/dist_ts/ts/mail/delivery/smtpserver/secure-server.d.ts +0 -15
  358. package/dist_ts/ts/mail/delivery/smtpserver/secure-server.js +0 -79
  359. package/dist_ts/ts/mail/delivery/smtpserver/security-handler.d.ts +0 -86
  360. package/dist_ts/ts/mail/delivery/smtpserver/security-handler.js +0 -234
  361. package/dist_ts/ts/mail/delivery/smtpserver/session-manager.d.ts +0 -140
  362. package/dist_ts/ts/mail/delivery/smtpserver/session-manager.js +0 -469
  363. package/dist_ts/ts/mail/delivery/smtpserver/smtp-server.d.ts +0 -137
  364. package/dist_ts/ts/mail/delivery/smtpserver/smtp-server.js +0 -666
  365. package/dist_ts/ts/mail/delivery/smtpserver/starttls-handler.d.ts +0 -21
  366. package/dist_ts/ts/mail/delivery/smtpserver/starttls-handler.js +0 -207
  367. package/dist_ts/ts/mail/delivery/smtpserver/tls-handler.d.ts +0 -66
  368. package/dist_ts/ts/mail/delivery/smtpserver/tls-handler.js +0 -261
  369. package/dist_ts/ts/mail/delivery/smtpserver/utils/adaptive-logging.d.ts +0 -117
  370. package/dist_ts/ts/mail/delivery/smtpserver/utils/adaptive-logging.js +0 -411
  371. package/dist_ts/ts/mail/delivery/smtpserver/utils/helpers.d.ts +0 -78
  372. package/dist_ts/ts/mail/delivery/smtpserver/utils/helpers.js +0 -208
  373. package/dist_ts/ts/mail/delivery/smtpserver/utils/logging.d.ts +0 -106
  374. package/dist_ts/ts/mail/delivery/smtpserver/utils/logging.js +0 -181
  375. package/dist_ts/ts/mail/delivery/smtpserver/utils/validation.d.ts +0 -69
  376. package/dist_ts/ts/mail/delivery/smtpserver/utils/validation.js +0 -360
  377. package/dist_ts/ts/mail/index.d.ts +0 -8
  378. package/dist_ts/ts/mail/index.js +0 -13
  379. package/dist_ts/ts/mail/routing/classes.dns.manager.d.ts +0 -65
  380. package/dist_ts/ts/mail/routing/classes.dns.manager.js +0 -413
  381. package/dist_ts/ts/mail/routing/classes.dnsmanager.d.ts +0 -165
  382. package/dist_ts/ts/mail/routing/classes.dnsmanager.js +0 -430
  383. package/dist_ts/ts/mail/routing/classes.domain.registry.d.ts +0 -54
  384. package/dist_ts/ts/mail/routing/classes.domain.registry.js +0 -118
  385. package/dist_ts/ts/mail/routing/classes.email.config.d.ts +0 -64
  386. package/dist_ts/ts/mail/routing/classes.email.config.js +0 -2
  387. package/dist_ts/ts/mail/routing/classes.email.router.d.ts +0 -171
  388. package/dist_ts/ts/mail/routing/classes.email.router.js +0 -491
  389. package/dist_ts/ts/mail/routing/classes.unified.email.server.d.ts +0 -426
  390. package/dist_ts/ts/mail/routing/classes.unified.email.server.js +0 -1454
  391. package/dist_ts/ts/mail/routing/index.d.ts +0 -5
  392. package/dist_ts/ts/mail/routing/index.js +0 -7
  393. package/dist_ts/ts/mail/routing/interfaces.d.ts +0 -187
  394. package/dist_ts/ts/mail/routing/interfaces.js +0 -2
  395. package/dist_ts/ts/mail/security/classes.dkimcreator.d.ts +0 -68
  396. package/dist_ts/ts/mail/security/classes.dkimcreator.js +0 -346
  397. package/dist_ts/ts/mail/security/classes.dkimverifier.d.ts +0 -46
  398. package/dist_ts/ts/mail/security/classes.dkimverifier.js +0 -317
  399. package/dist_ts/ts/mail/security/classes.dmarcverifier.d.ts +0 -123
  400. package/dist_ts/ts/mail/security/classes.dmarcverifier.js +0 -365
  401. package/dist_ts/ts/mail/security/classes.spfverifier.d.ts +0 -103
  402. package/dist_ts/ts/mail/security/classes.spfverifier.js +0 -492
  403. package/dist_ts/ts/mail/security/index.d.ts +0 -4
  404. package/dist_ts/ts/mail/security/index.js +0 -6
  405. package/dist_ts/ts/opsserver/classes.opsserver.d.ts +0 -20
  406. package/dist_ts/ts/opsserver/classes.opsserver.js +0 -44
  407. package/dist_ts/ts/opsserver/handlers/admin.handler.d.ts +0 -31
  408. package/dist_ts/ts/opsserver/handlers/admin.handler.js +0 -177
  409. package/dist_ts/ts/opsserver/handlers/config.handler.d.ts +0 -10
  410. package/dist_ts/ts/opsserver/handlers/config.handler.js +0 -100
  411. package/dist_ts/ts/opsserver/handlers/index.d.ts +0 -5
  412. package/dist_ts/ts/opsserver/handlers/index.js +0 -6
  413. package/dist_ts/ts/opsserver/handlers/logs.handler.d.ts +0 -10
  414. package/dist_ts/ts/opsserver/handlers/logs.handler.js +0 -121
  415. package/dist_ts/ts/opsserver/handlers/security.handler.d.ts +0 -11
  416. package/dist_ts/ts/opsserver/handlers/security.handler.js +0 -118
  417. package/dist_ts/ts/opsserver/handlers/stats.handler.d.ts +0 -13
  418. package/dist_ts/ts/opsserver/handlers/stats.handler.js +0 -233
  419. package/dist_ts/ts/opsserver/helpers/guards.d.ts +0 -25
  420. package/dist_ts/ts/opsserver/helpers/guards.js +0 -41
  421. package/dist_ts/ts/opsserver/index.d.ts +0 -1
  422. package/dist_ts/ts/opsserver/index.js +0 -2
  423. package/dist_ts/ts/paths.d.ts +0 -14
  424. package/dist_ts/ts/paths.js +0 -39
  425. package/dist_ts/ts/plugins.d.ts +0 -46
  426. package/dist_ts/ts/plugins.js +0 -53
  427. package/dist_ts/ts/security/classes.contentscanner.d.ts +0 -160
  428. package/dist_ts/ts/security/classes.contentscanner.js +0 -634
  429. package/dist_ts/ts/security/classes.ipreputationchecker.d.ts +0 -150
  430. package/dist_ts/ts/security/classes.ipreputationchecker.js +0 -508
  431. package/dist_ts/ts/security/classes.securitylogger.d.ts +0 -140
  432. package/dist_ts/ts/security/classes.securitylogger.js +0 -232
  433. package/dist_ts/ts/security/index.d.ts +0 -3
  434. package/dist_ts/ts/security/index.js +0 -4
  435. package/dist_ts/ts/sms/classes.smsservice.d.ts +0 -15
  436. package/dist_ts/ts/sms/classes.smsservice.js +0 -72
  437. package/dist_ts/ts/sms/config/sms.config.d.ts +0 -93
  438. package/dist_ts/ts/sms/config/sms.config.js +0 -2
  439. package/dist_ts/ts/sms/config/sms.schema.d.ts +0 -5
  440. package/dist_ts/ts/sms/config/sms.schema.js +0 -121
  441. package/dist_ts/ts/sms/index.d.ts +0 -1
  442. package/dist_ts/ts/sms/index.js +0 -2
  443. package/dist_ts/ts/storage/classes.storagemanager.d.ts +0 -82
  444. package/dist_ts/ts/storage/classes.storagemanager.js +0 -341
  445. package/dist_ts/ts/storage/index.d.ts +0 -1
  446. package/dist_ts/ts/storage/index.js +0 -3
  447. package/dist_ts/ts_interfaces/data/auth.d.ts +0 -8
  448. package/dist_ts/ts_interfaces/data/auth.js +0 -2
  449. package/dist_ts/ts_interfaces/data/index.d.ts +0 -2
  450. package/dist_ts/ts_interfaces/data/index.js +0 -3
  451. package/dist_ts/ts_interfaces/data/stats.d.ts +0 -93
  452. package/dist_ts/ts_interfaces/data/stats.js +0 -2
  453. package/dist_ts/ts_interfaces/index.d.ts +0 -5
  454. package/dist_ts/ts_interfaces/index.js +0 -8
  455. package/dist_ts/ts_interfaces/plugins.d.ts +0 -2
  456. package/dist_ts/ts_interfaces/plugins.js +0 -4
  457. package/dist_ts/ts_interfaces/requests/admin.d.ts +0 -31
  458. package/dist_ts/ts_interfaces/requests/admin.js +0 -3
  459. package/dist_ts/ts_interfaces/requests/config.d.ts +0 -25
  460. package/dist_ts/ts_interfaces/requests/config.js +0 -3
  461. package/dist_ts/ts_interfaces/requests/index.d.ts +0 -4
  462. package/dist_ts/ts_interfaces/requests/index.js +0 -5
  463. package/dist_ts/ts_interfaces/requests/logs.d.ts +0 -34
  464. package/dist_ts/ts_interfaces/requests/logs.js +0 -4
  465. package/dist_ts/ts_interfaces/requests/stats.d.ts +0 -131
  466. package/dist_ts/ts_interfaces/requests/stats.js +0 -4
  467. package/readme.opsserver.md +0 -351
  468. package/test/helpers/server.loader.ts +0 -347
  469. package/test/helpers/smtp.client.ts +0 -209
  470. package/test/helpers/utils.ts +0 -311
  471. package/test/suite/smtpclient_commands/test.ccmd-01.ehlo-helo-sending.ts +0 -168
  472. package/test/suite/smtpclient_commands/test.ccmd-02.mail-from-parameters.ts +0 -277
  473. package/test/suite/smtpclient_commands/test.ccmd-03.rcpt-to-multiple.ts +0 -283
  474. package/test/suite/smtpclient_commands/test.ccmd-04.data-transmission.ts +0 -274
  475. package/test/suite/smtpclient_commands/test.ccmd-05.auth-mechanisms.ts +0 -306
  476. package/test/suite/smtpclient_commands/test.ccmd-06.command-pipelining.ts +0 -233
  477. package/test/suite/smtpclient_commands/test.ccmd-07.response-parsing.ts +0 -243
  478. package/test/suite/smtpclient_commands/test.ccmd-08.rset-command.ts +0 -333
  479. package/test/suite/smtpclient_commands/test.ccmd-09.noop-command.ts +0 -339
  480. package/test/suite/smtpclient_commands/test.ccmd-10.vrfy-expn.ts +0 -457
  481. package/test/suite/smtpclient_commands/test.ccmd-11.help-command.ts +0 -409
  482. package/test/suite/smtpclient_connection/test.ccm-01.basic-tcp-connection.ts +0 -150
  483. package/test/suite/smtpclient_connection/test.ccm-02.tls-connection.ts +0 -140
  484. package/test/suite/smtpclient_connection/test.ccm-03.starttls-upgrade.ts +0 -208
  485. package/test/suite/smtpclient_connection/test.ccm-04.connection-pooling.ts +0 -250
  486. package/test/suite/smtpclient_connection/test.ccm-05.connection-reuse.ts +0 -288
  487. package/test/suite/smtpclient_connection/test.ccm-06.connection-timeout.ts +0 -267
  488. package/test/suite/smtpclient_connection/test.ccm-07.automatic-reconnection.ts +0 -324
  489. package/test/suite/smtpclient_connection/test.ccm-08.dns-resolution.ts +0 -139
  490. package/test/suite/smtpclient_connection/test.ccm-09.ipv6-dual-stack.ts +0 -167
  491. package/test/suite/smtpclient_connection/test.ccm-10.proxy-support.ts +0 -305
  492. package/test/suite/smtpclient_connection/test.ccm-11.keepalive.ts +0 -299
  493. package/test/suite/smtpclient_edge-cases/test.cedge-01.unusual-server-responses.ts +0 -529
  494. package/test/suite/smtpclient_edge-cases/test.cedge-02.malformed-commands.ts +0 -438
  495. package/test/suite/smtpclient_edge-cases/test.cedge-03.protocol-violations.ts +0 -446
  496. package/test/suite/smtpclient_edge-cases/test.cedge-04.resource-constraints.ts +0 -530
  497. package/test/suite/smtpclient_edge-cases/test.cedge-05.encoding-issues.ts +0 -145
  498. package/test/suite/smtpclient_edge-cases/test.cedge-06.large-headers.ts +0 -180
  499. package/test/suite/smtpclient_edge-cases/test.cedge-07.concurrent-operations.ts +0 -204
  500. package/test/suite/smtpclient_email-composition/test.cep-01.basic-headers.ts +0 -245
  501. package/test/suite/smtpclient_email-composition/test.cep-02.mime-multipart.ts +0 -321
  502. package/test/suite/smtpclient_email-composition/test.cep-03.attachment-encoding.ts +0 -334
  503. package/test/suite/smtpclient_email-composition/test.cep-04.bcc-handling.ts +0 -187
  504. package/test/suite/smtpclient_email-composition/test.cep-05.reply-to-return-path.ts +0 -277
  505. package/test/suite/smtpclient_email-composition/test.cep-06.utf8-international.ts +0 -235
  506. package/test/suite/smtpclient_email-composition/test.cep-07.html-inline-images.ts +0 -489
  507. package/test/suite/smtpclient_email-composition/test.cep-08.custom-headers.ts +0 -293
  508. package/test/suite/smtpclient_email-composition/test.cep-09.priority-importance.ts +0 -314
  509. package/test/suite/smtpclient_email-composition/test.cep-10.receipts-dsn.ts +0 -411
  510. package/test/suite/smtpclient_error-handling/test.cerr-01.4xx-errors.ts +0 -232
  511. package/test/suite/smtpclient_error-handling/test.cerr-02.5xx-errors.ts +0 -309
  512. package/test/suite/smtpclient_error-handling/test.cerr-03.network-failures.ts +0 -299
  513. package/test/suite/smtpclient_error-handling/test.cerr-04.greylisting-handling.ts +0 -255
  514. package/test/suite/smtpclient_error-handling/test.cerr-05.quota-exceeded.ts +0 -273
  515. package/test/suite/smtpclient_error-handling/test.cerr-06.invalid-recipients.ts +0 -320
  516. package/test/suite/smtpclient_error-handling/test.cerr-07.message-size-limits.ts +0 -320
  517. package/test/suite/smtpclient_error-handling/test.cerr-08.rate-limiting.ts +0 -261
  518. package/test/suite/smtpclient_error-handling/test.cerr-09.connection-pool-errors.ts +0 -299
  519. package/test/suite/smtpclient_error-handling/test.cerr-10.partial-failure.ts +0 -373
  520. package/test/suite/smtpclient_performance/test.cperf-01.bulk-sending.ts +0 -332
  521. package/test/suite/smtpclient_performance/test.cperf-02.message-throughput.ts +0 -304
  522. package/test/suite/smtpclient_performance/test.cperf-03.memory-usage.ts +0 -332
  523. package/test/suite/smtpclient_performance/test.cperf-04.cpu-utilization.ts +0 -373
  524. package/test/suite/smtpclient_performance/test.cperf-05.network-efficiency.ts +0 -181
  525. package/test/suite/smtpclient_performance/test.cperf-06.caching-strategies.ts +0 -190
  526. package/test/suite/smtpclient_performance/test.cperf-07.queue-management.ts +0 -171
  527. package/test/suite/smtpclient_performance/test.cperf-08.dns-caching.ts +0 -50
  528. package/test/suite/smtpclient_reliability/test.crel-01.reconnection-logic.ts +0 -305
  529. package/test/suite/smtpclient_reliability/test.crel-02.network-interruption.ts +0 -207
  530. package/test/suite/smtpclient_reliability/test.crel-03.queue-persistence.ts +0 -469
  531. package/test/suite/smtpclient_reliability/test.crel-04.crash-recovery.ts +0 -520
  532. package/test/suite/smtpclient_reliability/test.crel-05.memory-leaks.ts +0 -503
  533. package/test/suite/smtpclient_reliability/test.crel-06.concurrency-safety.ts +0 -558
  534. package/test/suite/smtpclient_reliability/test.crel-07.resource-cleanup.ts +0 -52
  535. package/test/suite/smtpclient_rfc-compliance/test.crfc-01.rfc5321-client.ts +0 -283
  536. package/test/suite/smtpclient_rfc-compliance/test.crfc-02.esmtp-compliance.ts +0 -77
  537. package/test/suite/smtpclient_rfc-compliance/test.crfc-03.command-syntax.ts +0 -67
  538. package/test/suite/smtpclient_rfc-compliance/test.crfc-04.response-codes.ts +0 -54
  539. package/test/suite/smtpclient_rfc-compliance/test.crfc-05.state-machine.ts +0 -703
  540. package/test/suite/smtpclient_rfc-compliance/test.crfc-06.protocol-negotiation.ts +0 -688
  541. package/test/suite/smtpclient_rfc-compliance/test.crfc-07.interoperability.ts +0 -728
  542. package/test/suite/smtpclient_rfc-compliance/test.crfc-08.smtp-extensions.ts +0 -656
  543. package/test/suite/smtpclient_security/test.csec-01.tls-verification.ts +0 -88
  544. package/test/suite/smtpclient_security/test.csec-02.oauth2-authentication.ts +0 -132
  545. package/test/suite/smtpclient_security/test.csec-03.dkim-signing.ts +0 -138
  546. package/test/suite/smtpclient_security/test.csec-04.spf-compliance.ts +0 -163
  547. package/test/suite/smtpclient_security/test.csec-05.dmarc-policy.ts +0 -200
  548. package/test/suite/smtpclient_security/test.csec-06.certificate-validation.ts +0 -145
  549. package/test/suite/smtpclient_security/test.csec-07.cipher-suites.ts +0 -153
  550. package/test/suite/smtpclient_security/test.csec-08.authentication-fallback.ts +0 -154
  551. package/test/suite/smtpclient_security/test.csec-09.relay-restrictions.ts +0 -166
  552. package/test/suite/smtpclient_security/test.csec-10.anti-spam-measures.ts +0 -196
  553. package/test/suite/smtpserver_commands/test.cmd-01.ehlo-command.ts +0 -193
  554. package/test/suite/smtpserver_commands/test.cmd-02.mail-from.ts +0 -330
  555. package/test/suite/smtpserver_commands/test.cmd-03.rcpt-to.ts +0 -296
  556. package/test/suite/smtpserver_commands/test.cmd-04.data-command.ts +0 -395
  557. package/test/suite/smtpserver_commands/test.cmd-05.noop-command.ts +0 -320
  558. package/test/suite/smtpserver_commands/test.cmd-06.rset-command.ts +0 -399
  559. package/test/suite/smtpserver_commands/test.cmd-07.vrfy-command.ts +0 -391
  560. package/test/suite/smtpserver_commands/test.cmd-08.expn-command.ts +0 -450
  561. package/test/suite/smtpserver_commands/test.cmd-09.size-extension.ts +0 -465
  562. package/test/suite/smtpserver_commands/test.cmd-10.help-command.ts +0 -454
  563. package/test/suite/smtpserver_commands/test.cmd-11.command-pipelining.ts +0 -334
  564. package/test/suite/smtpserver_commands/test.cmd-12.helo-command.ts +0 -420
  565. package/test/suite/smtpserver_commands/test.cmd-13.quit-command.ts +0 -384
  566. package/test/suite/smtpserver_connection/test.cm-01.tls-connection.ts +0 -61
  567. package/test/suite/smtpserver_connection/test.cm-02.multiple-connections.ts +0 -112
  568. package/test/suite/smtpserver_connection/test.cm-03.connection-timeout.ts +0 -134
  569. package/test/suite/smtpserver_connection/test.cm-04.connection-limits.ts +0 -374
  570. package/test/suite/smtpserver_connection/test.cm-05.connection-rejection.ts +0 -296
  571. package/test/suite/smtpserver_connection/test.cm-06.starttls-upgrade.ts +0 -468
  572. package/test/suite/smtpserver_connection/test.cm-07.abrupt-disconnection.ts +0 -321
  573. package/test/suite/smtpserver_connection/test.cm-08.tls-versions.ts +0 -361
  574. package/test/suite/smtpserver_connection/test.cm-09.tls-ciphers.ts +0 -556
  575. package/test/suite/smtpserver_connection/test.cm-10.plain-connection.ts +0 -293
  576. package/test/suite/smtpserver_connection/test.cm-11.keepalive.ts +0 -382
  577. package/test/suite/smtpserver_edge-cases/test.edge-01.very-large-email.ts +0 -239
  578. package/test/suite/smtpserver_edge-cases/test.edge-02.very-small-email.ts +0 -389
  579. package/test/suite/smtpserver_edge-cases/test.edge-03.invalid-character-handling.ts +0 -479
  580. package/test/suite/smtpserver_edge-cases/test.edge-04.empty-commands.ts +0 -430
  581. package/test/suite/smtpserver_edge-cases/test.edge-05.extremely-long-lines.ts +0 -425
  582. package/test/suite/smtpserver_edge-cases/test.edge-06.extremely-long-headers.ts +0 -404
  583. package/test/suite/smtpserver_edge-cases/test.edge-07.unusual-mime-types.ts +0 -333
  584. package/test/suite/smtpserver_edge-cases/test.edge-08.nested-mime-structures.ts +0 -379
  585. package/test/suite/smtpserver_email-processing/test.ep-01.basic-email-sending.ts +0 -338
  586. package/test/suite/smtpserver_email-processing/test.ep-02.invalid-email-addresses.ts +0 -315
  587. package/test/suite/smtpserver_email-processing/test.ep-03.multiple-recipients.ts +0 -493
  588. package/test/suite/smtpserver_email-processing/test.ep-04.large-email.ts +0 -528
  589. package/test/suite/smtpserver_email-processing/test.ep-05.mime-handling.ts +0 -515
  590. package/test/suite/smtpserver_email-processing/test.ep-06.attachment-handling.ts +0 -629
  591. package/test/suite/smtpserver_email-processing/test.ep-07.special-character-handling.ts +0 -462
  592. package/test/suite/smtpserver_email-processing/test.ep-08.email-routing.ts +0 -527
  593. package/test/suite/smtpserver_email-processing/test.ep-09.delivery-status-notifications.ts +0 -486
  594. package/test/suite/smtpserver_error-handling/test.err-01.syntax-errors.ts +0 -475
  595. package/test/suite/smtpserver_error-handling/test.err-02.invalid-sequence.ts +0 -450
  596. package/test/suite/smtpserver_error-handling/test.err-03.temporary-failures.ts +0 -453
  597. package/test/suite/smtpserver_error-handling/test.err-04.permanent-failures.ts +0 -325
  598. package/test/suite/smtpserver_error-handling/test.err-05.resource-exhaustion.ts +0 -302
  599. package/test/suite/smtpserver_error-handling/test.err-06.malformed-mime.ts +0 -374
  600. package/test/suite/smtpserver_error-handling/test.err-07.exception-handling.ts +0 -333
  601. package/test/suite/smtpserver_error-handling/test.err-08.error-logging.ts +0 -324
  602. package/test/suite/smtpserver_performance/test.perf-01.throughput.ts +0 -183
  603. package/test/suite/smtpserver_performance/test.perf-02.concurrency.ts +0 -388
  604. package/test/suite/smtpserver_performance/test.perf-03.cpu-utilization.ts +0 -245
  605. package/test/suite/smtpserver_performance/test.perf-04.memory-usage.ts +0 -238
  606. package/test/suite/smtpserver_performance/test.perf-05.connection-processing-time.ts +0 -363
  607. package/test/suite/smtpserver_performance/test.perf-06.message-processing-time.ts +0 -252
  608. package/test/suite/smtpserver_performance/test.perf-07.resource-cleanup.ts +0 -317
  609. package/test/suite/smtpserver_reliability/test.rel-01.long-running-operation.ts +0 -344
  610. package/test/suite/smtpserver_reliability/test.rel-02.restart-recovery.ts +0 -328
  611. package/test/suite/smtpserver_reliability/test.rel-03.resource-leak-detection.ts +0 -394
  612. package/test/suite/smtpserver_reliability/test.rel-04.error-recovery.ts +0 -401
  613. package/test/suite/smtpserver_reliability/test.rel-05.dns-resolution-failure.ts +0 -335
  614. package/test/suite/smtpserver_reliability/test.rel-06.network-interruption.ts +0 -410
  615. package/test/suite/smtpserver_rfc-compliance/test.rfc-01.rfc5321-compliance.ts +0 -382
  616. package/test/suite/smtpserver_rfc-compliance/test.rfc-02.rfc5322-compliance.ts +0 -428
  617. package/test/suite/smtpserver_rfc-compliance/test.rfc-03.rfc7208-spf-compliance.ts +0 -330
  618. package/test/suite/smtpserver_rfc-compliance/test.rfc-04.rfc6376-dkim-compliance.ts +0 -450
  619. package/test/suite/smtpserver_rfc-compliance/test.rfc-05.rfc7489-dmarc-compliance.ts +0 -408
  620. package/test/suite/smtpserver_rfc-compliance/test.rfc-06.rfc8314-tls-compliance.ts +0 -366
  621. package/test/suite/smtpserver_rfc-compliance/test.rfc-07.rfc3461-dsn-compliance.ts +0 -399
  622. package/test/suite/smtpserver_security/test.sec-01.authentication.ts +0 -218
  623. package/test/suite/smtpserver_security/test.sec-02.authorization.ts +0 -286
  624. package/test/suite/smtpserver_security/test.sec-03.dkim-processing.ts +0 -414
  625. package/test/suite/smtpserver_security/test.sec-04.spf-checking.ts +0 -280
  626. package/test/suite/smtpserver_security/test.sec-05.dmarc-policy.ts +0 -374
  627. package/test/suite/smtpserver_security/test.sec-06.ip-reputation.ts +0 -303
  628. package/test/suite/smtpserver_security/test.sec-07.content-scanning.ts +0 -409
  629. package/test/suite/smtpserver_security/test.sec-08.rate-limiting.ts +0 -324
  630. package/test/suite/smtpserver_security/test.sec-09.tls-certificate-validation.ts +0 -312
  631. package/test/suite/smtpserver_security/test.sec-10.header-injection-prevention.ts +0 -332
  632. package/test/suite/smtpserver_security/test.sec-11.bounce-management.ts +0 -363
  633. package/test/test.base.ts +0 -65
  634. package/test/test.bouncemanager.ts +0 -196
  635. package/test/test.deliverability.ts +0 -55
  636. package/test/test.dns-manager-creation.ts +0 -141
  637. package/test/test.dns-mode-switching.ts +0 -257
  638. package/test/test.dns-validation.ts +0 -283
  639. package/test/test.email-socket-handler.ts +0 -228
  640. package/test/test.email.integration.ts +0 -377
  641. package/test/test.email.router.ts +0 -283
  642. package/test/test.emailauth.ts +0 -195
  643. package/test/test.integration.storage.ts +0 -313
  644. package/test/test.integration.ts +0 -75
  645. package/test/test.ipwarmupmanager.ts +0 -323
  646. package/test/test.minimal.ts +0 -66
  647. package/test/test.rate-limiting-integration.ts +0 -236
  648. package/test/test.ratelimiter.ts +0 -141
  649. package/test/test.reputationmonitor.ts +0 -262
  650. package/test/test.smartmail.ts +0 -248
  651. package/test/test.smtp.client.compatibility.ts +0 -154
  652. package/test/test.smtp.client.ts +0 -191
  653. package/test/test.smtp.server.ts +0 -180
  654. package/test/test.socket-handler-integration.ts +0 -240
  655. package/test/test.socket-handler-unit.ts +0 -198
  656. package/ts/deliverability/classes.ipwarmupmanager.ts +0 -896
  657. package/ts/deliverability/classes.senderreputationmonitor.ts +0 -1244
  658. package/ts/deliverability/index.ts +0 -13
  659. package/ts/errors/email.errors.ts +0 -383
  660. package/ts/errors/mta.errors.ts +0 -681
  661. package/ts/mail/core/classes.bouncemanager.ts +0 -965
  662. package/ts/mail/core/classes.email.ts +0 -941
  663. package/ts/mail/core/classes.emailvalidator.ts +0 -239
  664. package/ts/mail/core/classes.templatemanager.ts +0 -320
  665. package/ts/mail/core/index.ts +0 -5
  666. package/ts/mail/delivery/classes.delivery.queue.ts +0 -645
  667. package/ts/mail/delivery/classes.delivery.system.ts +0 -1089
  668. package/ts/mail/delivery/classes.emailsendjob.ts +0 -447
  669. package/ts/mail/delivery/classes.emailsendjob.ts.backup +0 -691
  670. package/ts/mail/delivery/classes.emailsignjob.ts +0 -67
  671. package/ts/mail/delivery/classes.mta.config.ts +0 -73
  672. package/ts/mail/delivery/classes.ratelimiter.ts +0 -281
  673. package/ts/mail/delivery/classes.smtp.client.legacy.ts +0 -1422
  674. package/ts/mail/delivery/classes.unified.rate.limiter.ts +0 -1053
  675. package/ts/mail/delivery/index.ts +0 -24
  676. package/ts/mail/delivery/interfaces.ts +0 -291
  677. package/ts/mail/delivery/smtpclient/auth-handler.ts +0 -232
  678. package/ts/mail/delivery/smtpclient/command-handler.ts +0 -343
  679. package/ts/mail/delivery/smtpclient/connection-manager.ts +0 -289
  680. package/ts/mail/delivery/smtpclient/constants.ts +0 -145
  681. package/ts/mail/delivery/smtpclient/create-client.ts +0 -94
  682. package/ts/mail/delivery/smtpclient/error-handler.ts +0 -141
  683. package/ts/mail/delivery/smtpclient/index.ts +0 -24
  684. package/ts/mail/delivery/smtpclient/interfaces.ts +0 -242
  685. package/ts/mail/delivery/smtpclient/smtp-client.ts +0 -357
  686. package/ts/mail/delivery/smtpclient/tls-handler.ts +0 -254
  687. package/ts/mail/delivery/smtpclient/utils/helpers.ts +0 -224
  688. package/ts/mail/delivery/smtpclient/utils/logging.ts +0 -212
  689. package/ts/mail/delivery/smtpclient/utils/validation.ts +0 -170
  690. package/ts/mail/delivery/smtpserver/certificate-utils.ts +0 -398
  691. package/ts/mail/delivery/smtpserver/command-handler.ts +0 -1340
  692. package/ts/mail/delivery/smtpserver/connection-manager.ts +0 -1045
  693. package/ts/mail/delivery/smtpserver/constants.ts +0 -181
  694. package/ts/mail/delivery/smtpserver/create-server.ts +0 -31
  695. package/ts/mail/delivery/smtpserver/data-handler.ts +0 -1283
  696. package/ts/mail/delivery/smtpserver/index.ts +0 -32
  697. package/ts/mail/delivery/smtpserver/interfaces.ts +0 -655
  698. package/ts/mail/delivery/smtpserver/secure-server.ts +0 -97
  699. package/ts/mail/delivery/smtpserver/security-handler.ts +0 -345
  700. package/ts/mail/delivery/smtpserver/session-manager.ts +0 -557
  701. package/ts/mail/delivery/smtpserver/smtp-server.ts +0 -804
  702. package/ts/mail/delivery/smtpserver/starttls-handler.ts +0 -262
  703. package/ts/mail/delivery/smtpserver/tls-handler.ts +0 -346
  704. package/ts/mail/delivery/smtpserver/utils/adaptive-logging.ts +0 -514
  705. package/ts/mail/delivery/smtpserver/utils/helpers.ts +0 -246
  706. package/ts/mail/delivery/smtpserver/utils/logging.ts +0 -246
  707. package/ts/mail/delivery/smtpserver/utils/validation.ts +0 -436
  708. package/ts/mail/index.ts +0 -19
  709. package/ts/mail/routing/classes.dns.manager.ts +0 -563
  710. package/ts/mail/routing/classes.dnsmanager.ts +0 -559
  711. package/ts/mail/routing/classes.domain.registry.ts +0 -139
  712. package/ts/mail/routing/classes.email.config.ts +0 -82
  713. package/ts/mail/routing/classes.email.router.ts +0 -575
  714. package/ts/mail/routing/classes.unified.email.server.ts +0 -1873
  715. package/ts/mail/routing/index.ts +0 -6
  716. package/ts/mail/routing/interfaces.ts +0 -202
  717. package/ts/mail/security/classes.dkimcreator.ts +0 -431
  718. package/ts/mail/security/classes.dkimverifier.ts +0 -382
  719. package/ts/mail/security/classes.dmarcverifier.ts +0 -478
  720. package/ts/mail/security/classes.spfverifier.ts +0 -606
  721. package/ts/mail/security/index.ts +0 -5
  722. package/ts_web/elements/ops-view-stats.ts +0 -299
@@ -1,413 +0,0 @@
1
- import * as plugins from '../../plugins.js';
2
- import { logger } from '../../logger.js';
3
- /**
4
- * Manages DNS configuration for email domains
5
- * Handles both validation and creation of DNS records
6
- */
7
- export class DnsManager {
8
- constructor(dcRouter) {
9
- this.dcRouter = dcRouter;
10
- this.storageManager = dcRouter.storageManager;
11
- }
12
- /**
13
- * Validate all domain configurations
14
- */
15
- async validateAllDomains(domainConfigs) {
16
- const results = new Map();
17
- for (const config of domainConfigs) {
18
- const result = await this.validateDomain(config);
19
- results.set(config.domain, result);
20
- }
21
- return results;
22
- }
23
- /**
24
- * Validate a single domain configuration
25
- */
26
- async validateDomain(config) {
27
- switch (config.dnsMode) {
28
- case 'forward':
29
- return this.validateForwardMode(config);
30
- case 'internal-dns':
31
- return this.validateInternalDnsMode(config);
32
- case 'external-dns':
33
- return this.validateExternalDnsMode(config);
34
- default:
35
- return {
36
- valid: false,
37
- errors: [`Unknown DNS mode: ${config.dnsMode}`],
38
- warnings: [],
39
- requiredChanges: []
40
- };
41
- }
42
- }
43
- /**
44
- * Validate forward mode configuration
45
- */
46
- async validateForwardMode(config) {
47
- const result = {
48
- valid: true,
49
- errors: [],
50
- warnings: [],
51
- requiredChanges: []
52
- };
53
- // Forward mode doesn't require DNS validation by default
54
- if (!config.dns?.forward?.skipDnsValidation) {
55
- logger.log('info', `DNS validation skipped for forward mode domain: ${config.domain}`);
56
- }
57
- // DKIM keys are still generated for consistency
58
- result.warnings.push(`Domain "${config.domain}" uses forward mode. DKIM keys will be generated but signing only happens if email is processed.`);
59
- return result;
60
- }
61
- /**
62
- * Validate internal DNS mode configuration
63
- */
64
- async validateInternalDnsMode(config) {
65
- const result = {
66
- valid: true,
67
- errors: [],
68
- warnings: [],
69
- requiredChanges: []
70
- };
71
- // Check if DNS configuration is set up
72
- const dnsNsDomains = this.dcRouter.options?.dnsNsDomains;
73
- const dnsScopes = this.dcRouter.options?.dnsScopes;
74
- if (!dnsNsDomains || dnsNsDomains.length === 0) {
75
- result.valid = false;
76
- result.errors.push(`Domain "${config.domain}" is configured to use internal DNS, but dnsNsDomains is not set in DcRouter configuration.`);
77
- console.error(`❌ ERROR: Domain "${config.domain}" is configured to use internal DNS,\n` +
78
- ' but dnsNsDomains is not set in DcRouter configuration.\n' +
79
- ' Please configure dnsNsDomains to enable the DNS server.\n' +
80
- ' Example: dnsNsDomains: ["ns1.myservice.com", "ns2.myservice.com"]');
81
- return result;
82
- }
83
- if (!dnsScopes || dnsScopes.length === 0) {
84
- result.valid = false;
85
- result.errors.push(`Domain "${config.domain}" is configured to use internal DNS, but dnsScopes is not set in DcRouter configuration.`);
86
- console.error(`❌ ERROR: Domain "${config.domain}" is configured to use internal DNS,\n` +
87
- ' but dnsScopes is not set in DcRouter configuration.\n' +
88
- ' Please configure dnsScopes to define authoritative domains.\n' +
89
- ' Example: dnsScopes: ["myservice.com", "mail.myservice.com"]');
90
- return result;
91
- }
92
- // Check if the email domain is in dnsScopes
93
- if (!dnsScopes.includes(config.domain)) {
94
- result.valid = false;
95
- result.errors.push(`Domain "${config.domain}" is configured to use internal DNS, but is not included in dnsScopes.`);
96
- console.error(`❌ ERROR: Domain "${config.domain}" is configured to use internal DNS,\n` +
97
- ` but is not included in dnsScopes: [${dnsScopes.join(', ')}].\n` +
98
- ' Please add this domain to dnsScopes to enable internal DNS.\n' +
99
- ` Example: dnsScopes: [..., "${config.domain}"]`);
100
- return result;
101
- }
102
- const primaryNameserver = dnsNsDomains[0];
103
- // Check NS delegation
104
- try {
105
- const nsRecords = await this.resolveNs(config.domain);
106
- const delegatedNameservers = dnsNsDomains.filter(ns => nsRecords.includes(ns));
107
- const isDelegated = delegatedNameservers.length > 0;
108
- if (!isDelegated) {
109
- result.warnings.push(`NS delegation not found for ${config.domain}. Please add NS records at your registrar.`);
110
- dnsNsDomains.forEach(ns => {
111
- result.requiredChanges.push(`Add NS record: ${config.domain}. NS ${ns}.`);
112
- });
113
- console.log(`📋 DNS Delegation Required for ${config.domain}:\n` +
114
- '━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n' +
115
- 'Please add these NS records at your domain registrar:\n' +
116
- dnsNsDomains.map(ns => ` ${config.domain}. NS ${ns}.`).join('\n') + '\n' +
117
- '━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n' +
118
- 'This delegation is required for internal DNS mode to work.');
119
- }
120
- else {
121
- console.log(`✅ NS delegation verified: ${config.domain} -> [${delegatedNameservers.join(', ')}]`);
122
- }
123
- }
124
- catch (error) {
125
- result.warnings.push(`Could not verify NS delegation for ${config.domain}: ${error.message}`);
126
- }
127
- return result;
128
- }
129
- /**
130
- * Validate external DNS mode configuration
131
- */
132
- async validateExternalDnsMode(config) {
133
- const result = {
134
- valid: true,
135
- errors: [],
136
- warnings: [],
137
- requiredChanges: []
138
- };
139
- try {
140
- // Get current DNS records
141
- const records = await this.checkDnsRecords(config);
142
- const requiredRecords = config.dns?.external?.requiredRecords || ['MX', 'SPF', 'DKIM', 'DMARC'];
143
- // Check MX record
144
- if (requiredRecords.includes('MX') && !records.mx?.length) {
145
- result.requiredChanges.push(`Add MX record: ${this.getBaseDomain(config.domain)} -> ${config.domain} (priority 10)`);
146
- }
147
- // Check SPF record
148
- if (requiredRecords.includes('SPF') && !records.spf) {
149
- result.requiredChanges.push(`Add TXT record: ${this.getBaseDomain(config.domain)} -> "v=spf1 a mx ~all"`);
150
- }
151
- // Check DKIM record
152
- if (requiredRecords.includes('DKIM') && !records.dkim) {
153
- const selector = config.dkim?.selector || 'default';
154
- const dkimPublicKey = await this.storageManager.get(`/email/dkim/${config.domain}/public.key`);
155
- if (dkimPublicKey) {
156
- const publicKeyBase64 = dkimPublicKey
157
- .replace(/-----BEGIN PUBLIC KEY-----/g, '')
158
- .replace(/-----END PUBLIC KEY-----/g, '')
159
- .replace(/\s/g, '');
160
- result.requiredChanges.push(`Add TXT record: ${selector}._domainkey.${config.domain} -> "v=DKIM1; k=rsa; p=${publicKeyBase64}"`);
161
- }
162
- else {
163
- result.warnings.push(`DKIM public key not found for ${config.domain}. It will be generated on first use.`);
164
- }
165
- }
166
- // Check DMARC record
167
- if (requiredRecords.includes('DMARC') && !records.dmarc) {
168
- result.requiredChanges.push(`Add TXT record: _dmarc.${this.getBaseDomain(config.domain)} -> "v=DMARC1; p=none; rua=mailto:dmarc@${config.domain}"`);
169
- }
170
- // Show setup instructions if needed
171
- if (result.requiredChanges.length > 0) {
172
- console.log(`📋 DNS Configuration Required for ${config.domain}:\n` +
173
- '━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n' +
174
- result.requiredChanges.map((change, i) => `${i + 1}. ${change}`).join('\n') +
175
- '\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
176
- }
177
- }
178
- catch (error) {
179
- result.errors.push(`DNS validation failed: ${error.message}`);
180
- result.valid = false;
181
- }
182
- return result;
183
- }
184
- /**
185
- * Check DNS records for a domain
186
- */
187
- async checkDnsRecords(config) {
188
- const records = {};
189
- const baseDomain = this.getBaseDomain(config.domain);
190
- const selector = config.dkim?.selector || 'default';
191
- // Use custom DNS servers if specified
192
- const resolver = new plugins.dns.promises.Resolver();
193
- if (config.dns?.external?.servers?.length) {
194
- resolver.setServers(config.dns.external.servers);
195
- }
196
- // Check MX records
197
- try {
198
- const mxRecords = await resolver.resolveMx(baseDomain);
199
- records.mx = mxRecords.map(mx => mx.exchange);
200
- }
201
- catch (error) {
202
- logger.log('debug', `No MX records found for ${baseDomain}`);
203
- }
204
- // Check SPF record
205
- try {
206
- const txtRecords = await resolver.resolveTxt(baseDomain);
207
- const spfRecord = txtRecords.find(records => records.some(record => record.startsWith('v=spf1')));
208
- if (spfRecord) {
209
- records.spf = spfRecord.join('');
210
- }
211
- }
212
- catch (error) {
213
- logger.log('debug', `No SPF record found for ${baseDomain}`);
214
- }
215
- // Check DKIM record
216
- try {
217
- const dkimRecords = await resolver.resolveTxt(`${selector}._domainkey.${config.domain}`);
218
- const dkimRecord = dkimRecords.find(records => records.some(record => record.includes('v=DKIM1')));
219
- if (dkimRecord) {
220
- records.dkim = dkimRecord.join('');
221
- }
222
- }
223
- catch (error) {
224
- logger.log('debug', `No DKIM record found for ${selector}._domainkey.${config.domain}`);
225
- }
226
- // Check DMARC record
227
- try {
228
- const dmarcRecords = await resolver.resolveTxt(`_dmarc.${baseDomain}`);
229
- const dmarcRecord = dmarcRecords.find(records => records.some(record => record.startsWith('v=DMARC1')));
230
- if (dmarcRecord) {
231
- records.dmarc = dmarcRecord.join('');
232
- }
233
- }
234
- catch (error) {
235
- logger.log('debug', `No DMARC record found for _dmarc.${baseDomain}`);
236
- }
237
- return records;
238
- }
239
- /**
240
- * Resolve NS records for a domain
241
- */
242
- async resolveNs(domain) {
243
- try {
244
- const resolver = new plugins.dns.promises.Resolver();
245
- const nsRecords = await resolver.resolveNs(domain);
246
- return nsRecords;
247
- }
248
- catch (error) {
249
- logger.log('warn', `Failed to resolve NS records for ${domain}: ${error.message}`);
250
- return [];
251
- }
252
- }
253
- /**
254
- * Get base domain from email domain (e.g., mail.example.com -> example.com)
255
- */
256
- getBaseDomain(domain) {
257
- const parts = domain.split('.');
258
- if (parts.length <= 2) {
259
- return domain;
260
- }
261
- // For subdomains like mail.example.com, return example.com
262
- // But preserve domain structure for longer TLDs like .co.uk
263
- if (parts[parts.length - 2].length <= 3 && parts[parts.length - 1].length === 2) {
264
- // Likely a country code TLD like .co.uk
265
- return parts.slice(-3).join('.');
266
- }
267
- return parts.slice(-2).join('.');
268
- }
269
- /**
270
- * Ensure all DNS records are created for configured domains
271
- * This is the main entry point for DNS record management
272
- */
273
- async ensureDnsRecords(domainConfigs, dkimCreator) {
274
- logger.log('info', `Ensuring DNS records for ${domainConfigs.length} domains`);
275
- // First, validate all domains
276
- const validationResults = await this.validateAllDomains(domainConfigs);
277
- // Then create records for internal-dns domains
278
- const internalDnsDomains = domainConfigs.filter(config => config.dnsMode === 'internal-dns');
279
- if (internalDnsDomains.length > 0) {
280
- await this.createInternalDnsRecords(internalDnsDomains);
281
- // Create DKIM records if DKIMCreator is provided
282
- if (dkimCreator) {
283
- await this.createDkimRecords(domainConfigs, dkimCreator);
284
- }
285
- }
286
- // Log validation results for external-dns domains
287
- for (const [domain, result] of validationResults) {
288
- const config = domainConfigs.find(c => c.domain === domain);
289
- if (config?.dnsMode === 'external-dns' && result.requiredChanges.length > 0) {
290
- logger.log('warn', `External DNS configuration required for ${domain}`);
291
- }
292
- }
293
- }
294
- /**
295
- * Create DNS records for internal-dns mode domains
296
- */
297
- async createInternalDnsRecords(domainConfigs) {
298
- // Check if DNS server is available
299
- if (!this.dcRouter.dnsServer) {
300
- logger.log('warn', 'DNS server not available, skipping internal DNS record creation');
301
- return;
302
- }
303
- logger.log('info', `Creating DNS records for ${domainConfigs.length} internal-dns domains`);
304
- for (const domainConfig of domainConfigs) {
305
- const domain = domainConfig.domain;
306
- const ttl = domainConfig.dns?.internal?.ttl || 3600;
307
- const mxPriority = domainConfig.dns?.internal?.mxPriority || 10;
308
- try {
309
- // 1. Register MX record - points to the email domain itself
310
- this.dcRouter.dnsServer.registerHandler(domain, ['MX'], () => ({
311
- name: domain,
312
- type: 'MX',
313
- class: 'IN',
314
- ttl: ttl,
315
- data: {
316
- priority: mxPriority,
317
- exchange: domain
318
- }
319
- }));
320
- logger.log('info', `MX record registered for ${domain} -> ${domain} (priority ${mxPriority})`);
321
- // Store MX record in StorageManager
322
- await this.storageManager.set(`/email/dns/${domain}/mx`, JSON.stringify({
323
- type: 'MX',
324
- priority: mxPriority,
325
- exchange: domain,
326
- ttl: ttl
327
- }));
328
- // 2. Register SPF record - allows the domain to send emails
329
- const spfRecord = `v=spf1 a mx ~all`;
330
- this.dcRouter.dnsServer.registerHandler(domain, ['TXT'], () => ({
331
- name: domain,
332
- type: 'TXT',
333
- class: 'IN',
334
- ttl: ttl,
335
- data: spfRecord
336
- }));
337
- logger.log('info', `SPF record registered for ${domain}: "${spfRecord}"`);
338
- // Store SPF record in StorageManager
339
- await this.storageManager.set(`/email/dns/${domain}/spf`, JSON.stringify({
340
- type: 'TXT',
341
- data: spfRecord,
342
- ttl: ttl
343
- }));
344
- // 3. Register DMARC record - policy for handling email authentication
345
- const dmarcRecord = `v=DMARC1; p=none; rua=mailto:dmarc@${domain}`;
346
- this.dcRouter.dnsServer.registerHandler(`_dmarc.${domain}`, ['TXT'], () => ({
347
- name: `_dmarc.${domain}`,
348
- type: 'TXT',
349
- class: 'IN',
350
- ttl: ttl,
351
- data: dmarcRecord
352
- }));
353
- logger.log('info', `DMARC record registered for _dmarc.${domain}: "${dmarcRecord}"`);
354
- // Store DMARC record in StorageManager
355
- await this.storageManager.set(`/email/dns/${domain}/dmarc`, JSON.stringify({
356
- type: 'TXT',
357
- name: `_dmarc.${domain}`,
358
- data: dmarcRecord,
359
- ttl: ttl
360
- }));
361
- // Log summary of DNS records created
362
- logger.log('info', `✅ DNS records created for ${domain}:
363
- - MX: ${domain} (priority ${mxPriority})
364
- - SPF: ${spfRecord}
365
- - DMARC: ${dmarcRecord}
366
- - DKIM: Will be created when keys are generated`);
367
- }
368
- catch (error) {
369
- logger.log('error', `Failed to create DNS records for ${domain}: ${error.message}`);
370
- }
371
- }
372
- }
373
- /**
374
- * Create DKIM DNS records for all domains
375
- */
376
- async createDkimRecords(domainConfigs, dkimCreator) {
377
- for (const domainConfig of domainConfigs) {
378
- const domain = domainConfig.domain;
379
- const selector = domainConfig.dkim?.selector || 'default';
380
- try {
381
- // Get DKIM DNS record from DKIMCreator
382
- const dnsRecord = await dkimCreator.getDNSRecordForDomain(domain);
383
- // For internal-dns domains, register the DNS handler
384
- if (domainConfig.dnsMode === 'internal-dns' && this.dcRouter.dnsServer) {
385
- const ttl = domainConfig.dns?.internal?.ttl || 3600;
386
- this.dcRouter.dnsServer.registerHandler(`${selector}._domainkey.${domain}`, ['TXT'], () => ({
387
- name: `${selector}._domainkey.${domain}`,
388
- type: 'TXT',
389
- class: 'IN',
390
- ttl: ttl,
391
- data: dnsRecord.value
392
- }));
393
- logger.log('info', `DKIM DNS record registered for ${selector}._domainkey.${domain}`);
394
- // Store DKIM record in StorageManager
395
- await this.storageManager.set(`/email/dns/${domain}/dkim`, JSON.stringify({
396
- type: 'TXT',
397
- name: `${selector}._domainkey.${domain}`,
398
- data: dnsRecord.value,
399
- ttl: ttl
400
- }));
401
- }
402
- // For external-dns domains, just log what should be configured
403
- if (domainConfig.dnsMode === 'external-dns') {
404
- logger.log('info', `DKIM record for external DNS: ${dnsRecord.name} -> "${dnsRecord.value}"`);
405
- }
406
- }
407
- catch (error) {
408
- logger.log('warn', `Could not create DKIM DNS record for ${domain}: ${error.message}`);
409
- }
410
- }
411
- }
412
- }
413
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5kbnMubWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RzL21haWwvcm91dGluZy9jbGFzc2VzLmRucy5tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sa0JBQWtCLENBQUM7QUFFNUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBeUJ6Qzs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sVUFBVTtJQUlyQixZQUFZLFFBQWtCO1FBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsa0JBQWtCLENBQUMsYUFBbUM7UUFDMUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLEVBQWdDLENBQUM7UUFFeEQsS0FBSyxNQUFNLE1BQU0sSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNuQyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFFRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsY0FBYyxDQUFDLE1BQTBCO1FBQzdDLFFBQVEsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3ZCLEtBQUssU0FBUztnQkFDWixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMxQyxLQUFLLGNBQWM7Z0JBQ2pCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzlDLEtBQUssY0FBYztnQkFDakIsT0FBTyxJQUFJ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
@@ -1,165 +0,0 @@
1
- import * as plugins from '../../plugins.js';
2
- import { DKIMCreator } from '../security/classes.dkimcreator.js';
3
- /**
4
- * Interface for DNS record information
5
- */
6
- export interface IDnsRecord {
7
- name: string;
8
- type: string;
9
- value: string;
10
- ttl?: number;
11
- dnsSecEnabled?: boolean;
12
- }
13
- /**
14
- * Interface for DNS lookup options
15
- */
16
- export interface IDnsLookupOptions {
17
- /** Cache time to live in milliseconds, 0 to disable caching */
18
- cacheTtl?: number;
19
- /** Timeout for DNS queries in milliseconds */
20
- timeout?: number;
21
- }
22
- /**
23
- * Interface for DNS verification result
24
- */
25
- export interface IDnsVerificationResult {
26
- record: string;
27
- found: boolean;
28
- valid: boolean;
29
- value?: string;
30
- expectedValue?: string;
31
- error?: string;
32
- }
33
- /**
34
- * Manager for DNS-related operations, including record lookups, verification, and generation
35
- */
36
- export declare class DNSManager {
37
- dkimCreator: DKIMCreator;
38
- private cache;
39
- private defaultOptions;
40
- constructor(dkimCreatorArg: DKIMCreator, options?: IDnsLookupOptions);
41
- /**
42
- * Lookup MX records for a domain
43
- * @param domain Domain to look up
44
- * @param options Lookup options
45
- * @returns Array of MX records sorted by priority
46
- */
47
- lookupMx(domain: string, options?: IDnsLookupOptions): Promise<plugins.dns.MxRecord[]>;
48
- /**
49
- * Lookup TXT records for a domain
50
- * @param domain Domain to look up
51
- * @param options Lookup options
52
- * @returns Array of TXT records
53
- */
54
- lookupTxt(domain: string, options?: IDnsLookupOptions): Promise<string[][]>;
55
- /**
56
- * Find specific TXT record by subdomain and prefix
57
- * @param domain Base domain
58
- * @param subdomain Subdomain prefix (e.g., "dkim._domainkey")
59
- * @param prefix Record prefix to match (e.g., "v=DKIM1")
60
- * @param options Lookup options
61
- * @returns Matching TXT record or null if not found
62
- */
63
- findTxtRecord(domain: string, subdomain?: string, prefix?: string, options?: IDnsLookupOptions): Promise<string | null>;
64
- /**
65
- * Verify if a domain has a valid SPF record
66
- * @param domain Domain to verify
67
- * @returns Verification result
68
- */
69
- verifySpfRecord(domain: string): Promise<IDnsVerificationResult>;
70
- /**
71
- * Verify if a domain has a valid DKIM record
72
- * @param domain Domain to verify
73
- * @param selector DKIM selector (usually "mta" in our case)
74
- * @returns Verification result
75
- */
76
- verifyDkimRecord(domain: string, selector?: string): Promise<IDnsVerificationResult>;
77
- /**
78
- * Verify if a domain has a valid DMARC record
79
- * @param domain Domain to verify
80
- * @returns Verification result
81
- */
82
- verifyDmarcRecord(domain: string): Promise<IDnsVerificationResult>;
83
- /**
84
- * Check all email authentication records (SPF, DKIM, DMARC) for a domain
85
- * @param domain Domain to check
86
- * @param dkimSelector DKIM selector
87
- * @returns Object with verification results for each record type
88
- */
89
- verifyEmailAuthRecords(domain: string, dkimSelector?: string): Promise<{
90
- spf: IDnsVerificationResult;
91
- dkim: IDnsVerificationResult;
92
- dmarc: IDnsVerificationResult;
93
- }>;
94
- /**
95
- * Generate a recommended SPF record for a domain
96
- * @param domain Domain name
97
- * @param options Configuration options for the SPF record
98
- * @returns Generated SPF record
99
- */
100
- generateSpfRecord(domain: string, options?: {
101
- includeMx?: boolean;
102
- includeA?: boolean;
103
- includeIps?: string[];
104
- includeSpf?: string[];
105
- policy?: 'none' | 'neutral' | 'softfail' | 'fail' | 'reject';
106
- }): IDnsRecord;
107
- /**
108
- * Generate a recommended DMARC record for a domain
109
- * @param domain Domain name
110
- * @param options Configuration options for the DMARC record
111
- * @returns Generated DMARC record
112
- */
113
- generateDmarcRecord(domain: string, options?: {
114
- policy?: 'none' | 'quarantine' | 'reject';
115
- subdomainPolicy?: 'none' | 'quarantine' | 'reject';
116
- pct?: number;
117
- rua?: string;
118
- ruf?: string;
119
- daysInterval?: number;
120
- }): IDnsRecord;
121
- /**
122
- * Save DNS record recommendations to a file
123
- * @param domain Domain name
124
- * @param records DNS records to save
125
- */
126
- saveDnsRecommendations(domain: string, records: IDnsRecord[]): Promise<void>;
127
- /**
128
- * Get cache key value
129
- * @param key Cache key
130
- * @returns Cached value or undefined if not found or expired
131
- */
132
- private getFromCache;
133
- /**
134
- * Set cache key value
135
- * @param key Cache key
136
- * @param data Data to cache
137
- * @param ttl TTL in milliseconds
138
- */
139
- private setInCache;
140
- /**
141
- * Clear the DNS cache
142
- * @param key Optional specific key to clear, or all cache if not provided
143
- */
144
- clearCache(key?: string): void;
145
- /**
146
- * Promise-based wrapper for dns.resolveMx
147
- * @param domain Domain to resolve
148
- * @param timeout Timeout in milliseconds
149
- * @returns Promise resolving to MX records
150
- */
151
- private dnsResolveMx;
152
- /**
153
- * Promise-based wrapper for dns.resolveTxt
154
- * @param domain Domain to resolve
155
- * @param timeout Timeout in milliseconds
156
- * @returns Promise resolving to TXT records
157
- */
158
- private dnsResolveTxt;
159
- /**
160
- * Generate all recommended DNS records for proper email authentication
161
- * @param domain Domain to generate records for
162
- * @returns Array of recommended DNS records
163
- */
164
- generateAllRecommendedRecords(domain: string): Promise<IDnsRecord[]>;
165
- }