@serve.zone/dcrouter 2.12.4 → 5.0.3
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/dist_serve/bundle.js +30539 -0
- package/dist_serve/bundle.js.map +7 -0
- package/dist_serve/index.html +1 -0
- package/dist_ts/00_commitinfo_data.js +4 -4
- package/dist_ts/cache/classes.cache.cleaner.d.ts +47 -0
- package/dist_ts/cache/classes.cache.cleaner.js +130 -0
- package/dist_ts/cache/classes.cached.document.d.ts +76 -0
- package/dist_ts/cache/classes.cached.document.js +100 -0
- package/dist_ts/cache/classes.cachedb.d.ts +60 -0
- package/dist_ts/cache/classes.cachedb.js +125 -0
- package/dist_ts/cache/documents/classes.cached.email.d.ts +125 -0
- package/dist_ts/cache/documents/classes.cached.email.js +337 -0
- package/dist_ts/cache/documents/classes.cached.ip.reputation.d.ts +119 -0
- package/dist_ts/cache/documents/classes.cached.ip.reputation.js +323 -0
- package/dist_ts/cache/documents/index.d.ts +2 -0
- package/dist_ts/cache/documents/index.js +3 -0
- package/dist_ts/cache/index.d.ts +4 -0
- package/dist_ts/cache/index.js +7 -0
- package/dist_ts/classes.dcrouter.d.ts +53 -15
- package/dist_ts/classes.dcrouter.js +156 -131
- package/dist_ts/config/index.js +1 -1
- package/dist_ts/config/validator.js +1 -1
- package/dist_ts/errors/base.errors.js +11 -1
- package/dist_ts/errors/error-handler.js +2 -2
- package/dist_ts/errors/error.codes.js +1 -1
- package/dist_ts/errors/index.d.ts +0 -2
- package/dist_ts/errors/index.js +1 -3
- package/dist_ts/errors/reputation.errors.js +1 -1
- package/dist_ts/index.d.ts +3 -1
- package/dist_ts/index.js +5 -2
- package/dist_ts/logger.js +4 -5
- package/dist_ts/monitoring/classes.metricscache.d.ts +32 -0
- package/dist_ts/monitoring/classes.metricscache.js +63 -0
- package/dist_ts/monitoring/classes.metricsmanager.d.ts +112 -0
- package/dist_ts/monitoring/classes.metricsmanager.js +446 -0
- package/dist_ts/monitoring/index.d.ts +1 -0
- package/dist_ts/monitoring/index.js +2 -0
- package/dist_ts/opsserver/classes.opsserver.d.ts +8 -0
- package/dist_ts/opsserver/classes.opsserver.js +26 -7
- package/dist_ts/{ts/opsserver → opsserver}/handlers/admin.handler.d.ts +1 -1
- package/dist_ts/opsserver/handlers/admin.handler.js +180 -0
- package/dist_ts/{ts/opsserver → opsserver}/handlers/config.handler.d.ts +0 -1
- package/dist_ts/opsserver/handlers/config.handler.js +67 -0
- package/dist_ts/opsserver/handlers/email-ops.handler.d.ts +12 -0
- package/dist_ts/opsserver/handlers/email-ops.handler.js +219 -0
- package/dist_ts/{ts/opsserver → opsserver}/handlers/index.d.ts +2 -0
- package/dist_ts/{ts/opsserver → opsserver}/handlers/index.js +3 -1
- package/dist_ts/opsserver/handlers/logs.handler.js +122 -0
- package/dist_ts/opsserver/handlers/radius.handler.d.ts +8 -0
- package/dist_ts/opsserver/handlers/radius.handler.js +296 -0
- package/dist_ts/opsserver/handlers/security.handler.js +217 -0
- package/dist_ts/opsserver/handlers/stats.handler.js +366 -0
- package/dist_ts/{ts/opsserver → opsserver}/helpers/guards.d.ts +1 -1
- package/dist_ts/{ts/opsserver → opsserver}/helpers/guards.js +1 -1
- package/dist_ts/opsserver/index.js +1 -1
- package/dist_ts/paths.js +10 -10
- package/dist_ts/plugins.d.ts +43 -8
- package/dist_ts/plugins.js +71 -9
- package/dist_ts/radius/classes.accounting.manager.d.ts +218 -0
- package/dist_ts/radius/classes.accounting.manager.js +417 -0
- package/dist_ts/radius/classes.radius.server.d.ts +171 -0
- package/dist_ts/radius/classes.radius.server.js +385 -0
- package/dist_ts/radius/classes.vlan.manager.d.ts +128 -0
- package/dist_ts/radius/classes.vlan.manager.js +272 -0
- package/dist_ts/radius/index.d.ts +13 -0
- package/dist_ts/radius/index.js +14 -0
- package/dist_ts/security/classes.contentscanner.d.ts +1 -1
- package/dist_ts/security/classes.contentscanner.js +13 -10
- package/dist_ts/security/classes.ipreputationchecker.js +11 -7
- package/dist_ts/security/classes.securitylogger.js +5 -2
- package/dist_ts/security/index.js +1 -1
- package/dist_ts/sms/classes.smsservice.js +11 -11
- package/dist_ts/sms/config/sms.config.js +1 -1
- package/dist_ts/sms/config/sms.schema.js +1 -1
- package/dist_ts/sms/index.js +1 -1
- package/dist_ts/storage/classes.storagemanager.js +8 -5
- package/dist_ts/storage/index.js +1 -1
- package/{dist_ts/ts_interfaces → dist_ts_interfaces}/data/auth.js +1 -1
- package/{dist_ts/ts_interfaces → dist_ts_interfaces}/data/index.js +1 -1
- package/{dist_ts/ts_interfaces → dist_ts_interfaces}/data/stats.d.ts +27 -0
- package/{dist_ts/ts_interfaces → dist_ts_interfaces}/data/stats.js +1 -1
- package/{dist_ts/ts_interfaces → dist_ts_interfaces}/index.js +1 -1
- package/{dist_ts/ts_interfaces → dist_ts_interfaces}/plugins.js +1 -1
- package/{dist_ts/ts_interfaces → dist_ts_interfaces}/requests/admin.js +1 -1
- package/dist_ts_interfaces/requests/combined.stats.d.ts +24 -0
- package/dist_ts_interfaces/requests/combined.stats.js +2 -0
- package/{dist_ts/ts_interfaces → dist_ts_interfaces}/requests/config.d.ts +0 -12
- package/{dist_ts/ts_interfaces → dist_ts_interfaces}/requests/config.js +1 -1
- package/dist_ts_interfaces/requests/email-ops.d.ts +139 -0
- package/dist_ts_interfaces/requests/email-ops.js +3 -0
- package/{dist_ts/ts_interfaces → dist_ts_interfaces}/requests/index.d.ts +3 -0
- package/dist_ts_interfaces/requests/index.js +8 -0
- package/{dist_ts/ts_interfaces → dist_ts_interfaces}/requests/logs.js +1 -1
- package/dist_ts_interfaces/requests/radius.d.ts +268 -0
- package/dist_ts_interfaces/requests/radius.js +3 -0
- package/{dist_ts/ts_interfaces → dist_ts_interfaces}/requests/stats.js +1 -1
- package/dist_ts_web/00_commitinfo_data.js +9 -0
- package/dist_ts_web/appstate.d.ts +96 -0
- package/dist_ts_web/appstate.js +587 -0
- package/dist_ts_web/elements/index.d.ts +8 -0
- package/dist_ts_web/elements/index.js +9 -0
- package/dist_ts_web/elements/ops-dashboard.d.ts +23 -0
- package/dist_ts_web/elements/ops-dashboard.js +271 -0
- package/dist_ts_web/elements/ops-view-config.d.ts +17 -0
- package/dist_ts_web/elements/ops-view-config.js +414 -0
- package/dist_ts_web/elements/ops-view-emails.d.ts +44 -0
- package/dist_ts_web/elements/ops-view-emails.js +880 -0
- package/dist_ts_web/elements/ops-view-logs.d.ts +13 -0
- package/dist_ts_web/elements/ops-view-logs.js +249 -0
- package/dist_ts_web/elements/ops-view-network.d.ts +65 -0
- package/dist_ts_web/elements/ops-view-network.js +579 -0
- package/dist_ts_web/elements/ops-view-overview.d.ts +14 -0
- package/dist_ts_web/elements/ops-view-overview.js +344 -0
- package/dist_ts_web/elements/ops-view-security.d.ts +21 -0
- package/dist_ts_web/elements/ops-view-security.js +568 -0
- package/dist_ts_web/elements/shared/css.d.ts +1 -0
- package/dist_ts_web/elements/shared/css.js +10 -0
- package/dist_ts_web/elements/shared/index.d.ts +2 -0
- package/dist_ts_web/elements/shared/index.js +3 -0
- package/dist_ts_web/elements/shared/ops-sectionheading.d.ts +5 -0
- package/dist_ts_web/elements/shared/ops-sectionheading.js +82 -0
- package/dist_ts_web/index.d.ts +1 -0
- package/dist_ts_web/index.js +10 -0
- package/dist_ts_web/plugins.d.ts +4 -0
- package/dist_ts_web/plugins.js +7 -0
- package/dist_ts_web/router.d.ts +25 -0
- package/dist_ts_web/router.js +165 -0
- package/npmextra.json +36 -2
- package/package.json +72 -46
- package/readme.hints.md +537 -670
- package/readme.md +659 -937
- package/ts/00_commitinfo_data.ts +3 -3
- package/ts/cache/classes.cache.cleaner.ts +166 -0
- package/ts/cache/classes.cached.document.ts +111 -0
- package/ts/cache/classes.cachedb.ts +154 -0
- package/ts/cache/documents/classes.cached.email.ts +240 -0
- package/ts/cache/documents/classes.cached.ip.reputation.ts +247 -0
- package/ts/cache/documents/index.ts +2 -0
- package/ts/cache/index.ts +7 -0
- package/ts/classes.dcrouter.ts +229 -162
- package/ts/errors/index.ts +0 -2
- package/ts/index.ts +8 -2
- package/ts/monitoring/classes.metricscache.ts +75 -0
- package/ts/monitoring/classes.metricsmanager.ts +522 -0
- package/ts/monitoring/index.ts +1 -0
- package/ts/opsserver/classes.opsserver.ts +5 -1
- package/ts/opsserver/handlers/admin.handler.ts +1 -1
- package/ts/opsserver/handlers/config.handler.ts +16 -58
- package/ts/opsserver/handlers/email-ops.handler.ts +318 -0
- package/ts/opsserver/handlers/index.ts +3 -1
- package/ts/opsserver/handlers/radius.handler.ts +405 -0
- package/ts/opsserver/handlers/security.handler.ts +115 -6
- package/ts/opsserver/handlers/stats.handler.ts +177 -18
- package/ts/paths.ts +9 -9
- package/ts/plugins.ts +73 -11
- package/ts/radius/classes.accounting.manager.ts +607 -0
- package/ts/radius/classes.radius.server.ts +532 -0
- package/ts/radius/classes.vlan.manager.ts +363 -0
- package/ts/radius/index.ts +14 -0
- package/ts/security/classes.contentscanner.ts +2 -2
- package/ts/security/classes.ipreputationchecker.ts +2 -2
- package/ts/sms/classes.smsservice.ts +7 -9
- package/ts/storage/classes.storagemanager.ts +3 -3
- package/ts_web/00_commitinfo_data.ts +3 -3
- package/ts_web/appstate.ts +523 -85
- package/ts_web/elements/index.ts +2 -1
- package/ts_web/elements/ops-dashboard.ts +117 -52
- package/ts_web/elements/ops-view-config.ts +236 -118
- package/ts_web/elements/ops-view-emails.ts +818 -0
- package/ts_web/elements/ops-view-logs.ts +14 -14
- package/ts_web/elements/ops-view-network.ts +580 -0
- package/ts_web/elements/ops-view-overview.ts +196 -110
- package/ts_web/elements/ops-view-security.ts +155 -96
- package/ts_web/elements/shared/ops-sectionheading.ts +1 -5
- package/ts_web/index.ts +4 -0
- package/ts_web/readme.md +211 -0
- package/ts_web/router.ts +181 -0
- package/.dockerignore +0 -1
- package/.gitea/workflows/docker_nottags.yaml +0 -71
- package/.gitea/workflows/docker_tags.yaml +0 -106
- package/.vscode/launch.json +0 -11
- package/.vscode/settings.json +0 -26
- package/Dockerfile +0 -46
- package/changelog.md +0 -247
- package/cli.child.js +0 -4
- package/cli.child.ts +0 -4
- package/cli.ts.js +0 -5
- package/dist_ts/deliverability/classes.ipwarmupmanager.d.ts +0 -253
- package/dist_ts/deliverability/classes.ipwarmupmanager.js +0 -639
- package/dist_ts/deliverability/classes.senderreputationmonitor.d.ts +0 -300
- package/dist_ts/deliverability/classes.senderreputationmonitor.js +0 -961
- package/dist_ts/deliverability/index.d.ts +0 -2
- package/dist_ts/deliverability/index.js +0 -3
- package/dist_ts/errors/email.errors.d.ts +0 -175
- package/dist_ts/errors/email.errors.js +0 -265
- package/dist_ts/errors/mta.errors.d.ts +0 -259
- package/dist_ts/errors/mta.errors.js +0 -472
- package/dist_ts/mail/core/classes.bouncemanager.d.ts +0 -200
- package/dist_ts/mail/core/classes.bouncemanager.js +0 -778
- package/dist_ts/mail/core/classes.email.d.ts +0 -291
- package/dist_ts/mail/core/classes.email.js +0 -780
- package/dist_ts/mail/core/classes.emailvalidator.d.ts +0 -61
- package/dist_ts/mail/core/classes.emailvalidator.js +0 -182
- package/dist_ts/mail/core/classes.templatemanager.d.ts +0 -95
- package/dist_ts/mail/core/classes.templatemanager.js +0 -239
- package/dist_ts/mail/core/index.d.ts +0 -4
- package/dist_ts/mail/core/index.js +0 -6
- package/dist_ts/mail/delivery/classes.delivery.queue.d.ts +0 -163
- package/dist_ts/mail/delivery/classes.delivery.queue.js +0 -485
- package/dist_ts/mail/delivery/classes.delivery.system.d.ts +0 -186
- package/dist_ts/mail/delivery/classes.delivery.system.js +0 -846
- package/dist_ts/mail/delivery/classes.emailsendjob.d.ts +0 -84
- package/dist_ts/mail/delivery/classes.emailsendjob.js +0 -362
- package/dist_ts/mail/delivery/classes.emailsignjob.d.ts +0 -18
- package/dist_ts/mail/delivery/classes.emailsignjob.js +0 -44
- package/dist_ts/mail/delivery/classes.mta.config.d.ts +0 -22
- package/dist_ts/mail/delivery/classes.mta.config.js +0 -51
- package/dist_ts/mail/delivery/classes.ratelimiter.d.ts +0 -98
- package/dist_ts/mail/delivery/classes.ratelimiter.js +0 -205
- package/dist_ts/mail/delivery/classes.smtp.client.legacy.d.ts +0 -275
- package/dist_ts/mail/delivery/classes.smtp.client.legacy.js +0 -973
- package/dist_ts/mail/delivery/classes.unified.rate.limiter.d.ts +0 -200
- package/dist_ts/mail/delivery/classes.unified.rate.limiter.js +0 -817
- package/dist_ts/mail/delivery/index.d.ts +0 -12
- package/dist_ts/mail/delivery/index.js +0 -18
- package/dist_ts/mail/delivery/interfaces.d.ts +0 -243
- package/dist_ts/mail/delivery/interfaces.js +0 -17
- package/dist_ts/mail/delivery/smtpclient/auth-handler.d.ts +0 -43
- package/dist_ts/mail/delivery/smtpclient/auth-handler.js +0 -188
- package/dist_ts/mail/delivery/smtpclient/command-handler.d.ts +0 -67
- package/dist_ts/mail/delivery/smtpclient/command-handler.js +0 -276
- package/dist_ts/mail/delivery/smtpclient/connection-manager.d.ts +0 -48
- package/dist_ts/mail/delivery/smtpclient/connection-manager.js +0 -238
- package/dist_ts/mail/delivery/smtpclient/constants.d.ts +0 -129
- package/dist_ts/mail/delivery/smtpclient/constants.js +0 -135
- package/dist_ts/mail/delivery/smtpclient/create-client.d.ts +0 -22
- package/dist_ts/mail/delivery/smtpclient/create-client.js +0 -86
- package/dist_ts/mail/delivery/smtpclient/error-handler.d.ts +0 -28
- package/dist_ts/mail/delivery/smtpclient/error-handler.js +0 -110
- package/dist_ts/mail/delivery/smtpclient/index.d.ts +0 -16
- package/dist_ts/mail/delivery/smtpclient/index.js +0 -21
- package/dist_ts/mail/delivery/smtpclient/interfaces.d.ts +0 -183
- package/dist_ts/mail/delivery/smtpclient/interfaces.js +0 -19
- package/dist_ts/mail/delivery/smtpclient/smtp-client.d.ts +0 -58
- package/dist_ts/mail/delivery/smtpclient/smtp-client.js +0 -279
- package/dist_ts/mail/delivery/smtpclient/tls-handler.d.ts +0 -33
- package/dist_ts/mail/delivery/smtpclient/tls-handler.js +0 -202
- package/dist_ts/mail/delivery/smtpclient/utils/helpers.d.ts +0 -77
- package/dist_ts/mail/delivery/smtpclient/utils/helpers.js +0 -196
- package/dist_ts/mail/delivery/smtpclient/utils/logging.d.ts +0 -46
- package/dist_ts/mail/delivery/smtpclient/utils/logging.js +0 -153
- package/dist_ts/mail/delivery/smtpclient/utils/validation.d.ts +0 -38
- package/dist_ts/mail/delivery/smtpclient/utils/validation.js +0 -139
- package/dist_ts/mail/delivery/smtpserver/certificate-utils.d.ts +0 -45
- package/dist_ts/mail/delivery/smtpserver/certificate-utils.js +0 -345
- package/dist_ts/mail/delivery/smtpserver/command-handler.d.ts +0 -156
- package/dist_ts/mail/delivery/smtpserver/command-handler.js +0 -1159
- package/dist_ts/mail/delivery/smtpserver/connection-manager.d.ts +0 -159
- package/dist_ts/mail/delivery/smtpserver/connection-manager.js +0 -894
- package/dist_ts/mail/delivery/smtpserver/constants.d.ts +0 -130
- package/dist_ts/mail/delivery/smtpserver/constants.js +0 -162
- package/dist_ts/mail/delivery/smtpserver/create-server.d.ts +0 -14
- package/dist_ts/mail/delivery/smtpserver/create-server.js +0 -28
- package/dist_ts/mail/delivery/smtpserver/data-handler.d.ts +0 -123
- package/dist_ts/mail/delivery/smtpserver/data-handler.js +0 -1148
- package/dist_ts/mail/delivery/smtpserver/index.d.ts +0 -20
- package/dist_ts/mail/delivery/smtpserver/index.js +0 -27
- package/dist_ts/mail/delivery/smtpserver/interfaces.d.ts +0 -530
- package/dist_ts/mail/delivery/smtpserver/interfaces.js +0 -10
- package/dist_ts/mail/delivery/smtpserver/secure-server.d.ts +0 -15
- package/dist_ts/mail/delivery/smtpserver/secure-server.js +0 -79
- package/dist_ts/mail/delivery/smtpserver/security-handler.d.ts +0 -86
- package/dist_ts/mail/delivery/smtpserver/security-handler.js +0 -234
- package/dist_ts/mail/delivery/smtpserver/session-manager.d.ts +0 -140
- package/dist_ts/mail/delivery/smtpserver/session-manager.js +0 -469
- package/dist_ts/mail/delivery/smtpserver/smtp-server.d.ts +0 -137
- package/dist_ts/mail/delivery/smtpserver/smtp-server.js +0 -666
- package/dist_ts/mail/delivery/smtpserver/starttls-handler.d.ts +0 -21
- package/dist_ts/mail/delivery/smtpserver/starttls-handler.js +0 -207
- package/dist_ts/mail/delivery/smtpserver/tls-handler.d.ts +0 -66
- package/dist_ts/mail/delivery/smtpserver/tls-handler.js +0 -261
- package/dist_ts/mail/delivery/smtpserver/utils/adaptive-logging.d.ts +0 -117
- package/dist_ts/mail/delivery/smtpserver/utils/adaptive-logging.js +0 -411
- package/dist_ts/mail/delivery/smtpserver/utils/helpers.d.ts +0 -78
- package/dist_ts/mail/delivery/smtpserver/utils/helpers.js +0 -208
- package/dist_ts/mail/delivery/smtpserver/utils/logging.d.ts +0 -106
- package/dist_ts/mail/delivery/smtpserver/utils/logging.js +0 -181
- package/dist_ts/mail/delivery/smtpserver/utils/validation.d.ts +0 -69
- package/dist_ts/mail/delivery/smtpserver/utils/validation.js +0 -360
- package/dist_ts/mail/index.d.ts +0 -8
- package/dist_ts/mail/index.js +0 -13
- package/dist_ts/mail/routing/classes.dns.manager.d.ts +0 -65
- package/dist_ts/mail/routing/classes.dns.manager.js +0 -413
- package/dist_ts/mail/routing/classes.dnsmanager.d.ts +0 -165
- package/dist_ts/mail/routing/classes.dnsmanager.js +0 -430
- package/dist_ts/mail/routing/classes.domain.registry.d.ts +0 -54
- package/dist_ts/mail/routing/classes.domain.registry.js +0 -118
- package/dist_ts/mail/routing/classes.email.config.d.ts +0 -64
- package/dist_ts/mail/routing/classes.email.config.js +0 -2
- package/dist_ts/mail/routing/classes.email.router.d.ts +0 -171
- package/dist_ts/mail/routing/classes.email.router.js +0 -491
- package/dist_ts/mail/routing/classes.unified.email.server.d.ts +0 -426
- package/dist_ts/mail/routing/classes.unified.email.server.js +0 -1454
- package/dist_ts/mail/routing/index.d.ts +0 -5
- package/dist_ts/mail/routing/index.js +0 -7
- package/dist_ts/mail/routing/interfaces.d.ts +0 -187
- package/dist_ts/mail/routing/interfaces.js +0 -2
- package/dist_ts/mail/security/classes.dkimcreator.d.ts +0 -68
- package/dist_ts/mail/security/classes.dkimcreator.js +0 -346
- package/dist_ts/mail/security/classes.dkimverifier.d.ts +0 -46
- package/dist_ts/mail/security/classes.dkimverifier.js +0 -317
- package/dist_ts/mail/security/classes.dmarcverifier.d.ts +0 -123
- package/dist_ts/mail/security/classes.dmarcverifier.js +0 -365
- package/dist_ts/mail/security/classes.spfverifier.d.ts +0 -103
- package/dist_ts/mail/security/classes.spfverifier.js +0 -492
- package/dist_ts/mail/security/index.d.ts +0 -4
- package/dist_ts/mail/security/index.js +0 -6
- package/dist_ts/ts/00_commitinfo_data.js +0 -9
- package/dist_ts/ts/classes.dcrouter.d.ts +0 -238
- package/dist_ts/ts/classes.dcrouter.js +0 -1008
- package/dist_ts/ts/config/index.d.ts +0 -1
- package/dist_ts/ts/config/index.js +0 -3
- package/dist_ts/ts/config/validator.d.ts +0 -104
- package/dist_ts/ts/config/validator.js +0 -152
- package/dist_ts/ts/deliverability/classes.ipwarmupmanager.d.ts +0 -253
- package/dist_ts/ts/deliverability/classes.ipwarmupmanager.js +0 -639
- package/dist_ts/ts/deliverability/classes.senderreputationmonitor.d.ts +0 -300
- package/dist_ts/ts/deliverability/classes.senderreputationmonitor.js +0 -961
- package/dist_ts/ts/deliverability/index.d.ts +0 -2
- package/dist_ts/ts/deliverability/index.js +0 -3
- package/dist_ts/ts/errors/base.errors.d.ts +0 -224
- package/dist_ts/ts/errors/base.errors.js +0 -310
- package/dist_ts/ts/errors/email.errors.d.ts +0 -175
- package/dist_ts/ts/errors/email.errors.js +0 -265
- package/dist_ts/ts/errors/error-handler.d.ts +0 -98
- package/dist_ts/ts/errors/error-handler.js +0 -282
- package/dist_ts/ts/errors/error.codes.d.ts +0 -115
- package/dist_ts/ts/errors/error.codes.js +0 -136
- package/dist_ts/ts/errors/index.d.ts +0 -56
- package/dist_ts/ts/errors/index.js +0 -138
- package/dist_ts/ts/errors/mta.errors.d.ts +0 -259
- package/dist_ts/ts/errors/mta.errors.js +0 -472
- package/dist_ts/ts/errors/reputation.errors.d.ts +0 -183
- package/dist_ts/ts/errors/reputation.errors.js +0 -292
- package/dist_ts/ts/index.d.ts +0 -4
- package/dist_ts/ts/index.js +0 -6
- package/dist_ts/ts/logger.d.ts +0 -17
- package/dist_ts/ts/logger.js +0 -77
- package/dist_ts/ts/mail/core/classes.bouncemanager.d.ts +0 -200
- package/dist_ts/ts/mail/core/classes.bouncemanager.js +0 -778
- package/dist_ts/ts/mail/core/classes.email.d.ts +0 -291
- package/dist_ts/ts/mail/core/classes.email.js +0 -780
- package/dist_ts/ts/mail/core/classes.emailvalidator.d.ts +0 -61
- package/dist_ts/ts/mail/core/classes.emailvalidator.js +0 -182
- package/dist_ts/ts/mail/core/classes.templatemanager.d.ts +0 -95
- package/dist_ts/ts/mail/core/classes.templatemanager.js +0 -239
- package/dist_ts/ts/mail/core/index.d.ts +0 -4
- package/dist_ts/ts/mail/core/index.js +0 -6
- package/dist_ts/ts/mail/delivery/classes.delivery.queue.d.ts +0 -163
- package/dist_ts/ts/mail/delivery/classes.delivery.queue.js +0 -485
- package/dist_ts/ts/mail/delivery/classes.delivery.system.d.ts +0 -186
- package/dist_ts/ts/mail/delivery/classes.delivery.system.js +0 -846
- package/dist_ts/ts/mail/delivery/classes.emailsendjob.d.ts +0 -84
- package/dist_ts/ts/mail/delivery/classes.emailsendjob.js +0 -362
- package/dist_ts/ts/mail/delivery/classes.emailsignjob.d.ts +0 -18
- package/dist_ts/ts/mail/delivery/classes.emailsignjob.js +0 -44
- package/dist_ts/ts/mail/delivery/classes.mta.config.d.ts +0 -22
- package/dist_ts/ts/mail/delivery/classes.mta.config.js +0 -51
- package/dist_ts/ts/mail/delivery/classes.ratelimiter.d.ts +0 -98
- package/dist_ts/ts/mail/delivery/classes.ratelimiter.js +0 -205
- package/dist_ts/ts/mail/delivery/classes.smtp.client.legacy.d.ts +0 -275
- package/dist_ts/ts/mail/delivery/classes.smtp.client.legacy.js +0 -973
- package/dist_ts/ts/mail/delivery/classes.unified.rate.limiter.d.ts +0 -200
- package/dist_ts/ts/mail/delivery/classes.unified.rate.limiter.js +0 -817
- package/dist_ts/ts/mail/delivery/index.d.ts +0 -12
- package/dist_ts/ts/mail/delivery/index.js +0 -18
- package/dist_ts/ts/mail/delivery/interfaces.d.ts +0 -243
- package/dist_ts/ts/mail/delivery/interfaces.js +0 -17
- package/dist_ts/ts/mail/delivery/smtpclient/auth-handler.d.ts +0 -43
- package/dist_ts/ts/mail/delivery/smtpclient/auth-handler.js +0 -188
- package/dist_ts/ts/mail/delivery/smtpclient/command-handler.d.ts +0 -67
- package/dist_ts/ts/mail/delivery/smtpclient/command-handler.js +0 -276
- package/dist_ts/ts/mail/delivery/smtpclient/connection-manager.d.ts +0 -48
- package/dist_ts/ts/mail/delivery/smtpclient/connection-manager.js +0 -238
- package/dist_ts/ts/mail/delivery/smtpclient/constants.d.ts +0 -129
- package/dist_ts/ts/mail/delivery/smtpclient/constants.js +0 -135
- package/dist_ts/ts/mail/delivery/smtpclient/create-client.d.ts +0 -22
- package/dist_ts/ts/mail/delivery/smtpclient/create-client.js +0 -86
- package/dist_ts/ts/mail/delivery/smtpclient/error-handler.d.ts +0 -28
- package/dist_ts/ts/mail/delivery/smtpclient/error-handler.js +0 -110
- package/dist_ts/ts/mail/delivery/smtpclient/index.d.ts +0 -16
- package/dist_ts/ts/mail/delivery/smtpclient/index.js +0 -21
- package/dist_ts/ts/mail/delivery/smtpclient/interfaces.d.ts +0 -183
- package/dist_ts/ts/mail/delivery/smtpclient/interfaces.js +0 -19
- package/dist_ts/ts/mail/delivery/smtpclient/smtp-client.d.ts +0 -58
- package/dist_ts/ts/mail/delivery/smtpclient/smtp-client.js +0 -279
- package/dist_ts/ts/mail/delivery/smtpclient/tls-handler.d.ts +0 -33
- package/dist_ts/ts/mail/delivery/smtpclient/tls-handler.js +0 -202
- package/dist_ts/ts/mail/delivery/smtpclient/utils/helpers.d.ts +0 -77
- package/dist_ts/ts/mail/delivery/smtpclient/utils/helpers.js +0 -196
- package/dist_ts/ts/mail/delivery/smtpclient/utils/logging.d.ts +0 -46
- package/dist_ts/ts/mail/delivery/smtpclient/utils/logging.js +0 -153
- package/dist_ts/ts/mail/delivery/smtpclient/utils/validation.d.ts +0 -38
- package/dist_ts/ts/mail/delivery/smtpclient/utils/validation.js +0 -139
- package/dist_ts/ts/mail/delivery/smtpserver/certificate-utils.d.ts +0 -45
- package/dist_ts/ts/mail/delivery/smtpserver/certificate-utils.js +0 -345
- package/dist_ts/ts/mail/delivery/smtpserver/command-handler.d.ts +0 -156
- package/dist_ts/ts/mail/delivery/smtpserver/command-handler.js +0 -1159
- package/dist_ts/ts/mail/delivery/smtpserver/connection-manager.d.ts +0 -159
- package/dist_ts/ts/mail/delivery/smtpserver/connection-manager.js +0 -894
- package/dist_ts/ts/mail/delivery/smtpserver/constants.d.ts +0 -130
- package/dist_ts/ts/mail/delivery/smtpserver/constants.js +0 -162
- package/dist_ts/ts/mail/delivery/smtpserver/create-server.d.ts +0 -14
- package/dist_ts/ts/mail/delivery/smtpserver/create-server.js +0 -28
- package/dist_ts/ts/mail/delivery/smtpserver/data-handler.d.ts +0 -123
- package/dist_ts/ts/mail/delivery/smtpserver/data-handler.js +0 -1148
- package/dist_ts/ts/mail/delivery/smtpserver/index.d.ts +0 -20
- package/dist_ts/ts/mail/delivery/smtpserver/index.js +0 -27
- package/dist_ts/ts/mail/delivery/smtpserver/interfaces.d.ts +0 -530
- package/dist_ts/ts/mail/delivery/smtpserver/interfaces.js +0 -10
- package/dist_ts/ts/mail/delivery/smtpserver/secure-server.d.ts +0 -15
- package/dist_ts/ts/mail/delivery/smtpserver/secure-server.js +0 -79
- package/dist_ts/ts/mail/delivery/smtpserver/security-handler.d.ts +0 -86
- package/dist_ts/ts/mail/delivery/smtpserver/security-handler.js +0 -234
- package/dist_ts/ts/mail/delivery/smtpserver/session-manager.d.ts +0 -140
- package/dist_ts/ts/mail/delivery/smtpserver/session-manager.js +0 -469
- package/dist_ts/ts/mail/delivery/smtpserver/smtp-server.d.ts +0 -137
- package/dist_ts/ts/mail/delivery/smtpserver/smtp-server.js +0 -666
- package/dist_ts/ts/mail/delivery/smtpserver/starttls-handler.d.ts +0 -21
- package/dist_ts/ts/mail/delivery/smtpserver/starttls-handler.js +0 -207
- package/dist_ts/ts/mail/delivery/smtpserver/tls-handler.d.ts +0 -66
- package/dist_ts/ts/mail/delivery/smtpserver/tls-handler.js +0 -261
- package/dist_ts/ts/mail/delivery/smtpserver/utils/adaptive-logging.d.ts +0 -117
- package/dist_ts/ts/mail/delivery/smtpserver/utils/adaptive-logging.js +0 -411
- package/dist_ts/ts/mail/delivery/smtpserver/utils/helpers.d.ts +0 -78
- package/dist_ts/ts/mail/delivery/smtpserver/utils/helpers.js +0 -208
- package/dist_ts/ts/mail/delivery/smtpserver/utils/logging.d.ts +0 -106
- package/dist_ts/ts/mail/delivery/smtpserver/utils/logging.js +0 -181
- package/dist_ts/ts/mail/delivery/smtpserver/utils/validation.d.ts +0 -69
- package/dist_ts/ts/mail/delivery/smtpserver/utils/validation.js +0 -360
- package/dist_ts/ts/mail/index.d.ts +0 -8
- package/dist_ts/ts/mail/index.js +0 -13
- package/dist_ts/ts/mail/routing/classes.dns.manager.d.ts +0 -65
- package/dist_ts/ts/mail/routing/classes.dns.manager.js +0 -413
- package/dist_ts/ts/mail/routing/classes.dnsmanager.d.ts +0 -165
- package/dist_ts/ts/mail/routing/classes.dnsmanager.js +0 -430
- package/dist_ts/ts/mail/routing/classes.domain.registry.d.ts +0 -54
- package/dist_ts/ts/mail/routing/classes.domain.registry.js +0 -118
- package/dist_ts/ts/mail/routing/classes.email.config.d.ts +0 -64
- package/dist_ts/ts/mail/routing/classes.email.config.js +0 -2
- package/dist_ts/ts/mail/routing/classes.email.router.d.ts +0 -171
- package/dist_ts/ts/mail/routing/classes.email.router.js +0 -491
- package/dist_ts/ts/mail/routing/classes.unified.email.server.d.ts +0 -426
- package/dist_ts/ts/mail/routing/classes.unified.email.server.js +0 -1454
- package/dist_ts/ts/mail/routing/index.d.ts +0 -5
- package/dist_ts/ts/mail/routing/index.js +0 -7
- package/dist_ts/ts/mail/routing/interfaces.d.ts +0 -187
- package/dist_ts/ts/mail/routing/interfaces.js +0 -2
- package/dist_ts/ts/mail/security/classes.dkimcreator.d.ts +0 -68
- package/dist_ts/ts/mail/security/classes.dkimcreator.js +0 -346
- package/dist_ts/ts/mail/security/classes.dkimverifier.d.ts +0 -46
- package/dist_ts/ts/mail/security/classes.dkimverifier.js +0 -317
- package/dist_ts/ts/mail/security/classes.dmarcverifier.d.ts +0 -123
- package/dist_ts/ts/mail/security/classes.dmarcverifier.js +0 -365
- package/dist_ts/ts/mail/security/classes.spfverifier.d.ts +0 -103
- package/dist_ts/ts/mail/security/classes.spfverifier.js +0 -492
- package/dist_ts/ts/mail/security/index.d.ts +0 -4
- package/dist_ts/ts/mail/security/index.js +0 -6
- package/dist_ts/ts/opsserver/classes.opsserver.d.ts +0 -20
- package/dist_ts/ts/opsserver/classes.opsserver.js +0 -44
- package/dist_ts/ts/opsserver/handlers/admin.handler.js +0 -177
- package/dist_ts/ts/opsserver/handlers/config.handler.js +0 -100
- package/dist_ts/ts/opsserver/handlers/logs.handler.js +0 -121
- package/dist_ts/ts/opsserver/handlers/security.handler.js +0 -118
- package/dist_ts/ts/opsserver/handlers/stats.handler.js +0 -233
- package/dist_ts/ts/opsserver/index.d.ts +0 -1
- package/dist_ts/ts/opsserver/index.js +0 -2
- package/dist_ts/ts/paths.d.ts +0 -14
- package/dist_ts/ts/paths.js +0 -39
- package/dist_ts/ts/plugins.d.ts +0 -46
- package/dist_ts/ts/plugins.js +0 -53
- package/dist_ts/ts/security/classes.contentscanner.d.ts +0 -160
- package/dist_ts/ts/security/classes.contentscanner.js +0 -634
- package/dist_ts/ts/security/classes.ipreputationchecker.d.ts +0 -150
- package/dist_ts/ts/security/classes.ipreputationchecker.js +0 -508
- package/dist_ts/ts/security/classes.securitylogger.d.ts +0 -140
- package/dist_ts/ts/security/classes.securitylogger.js +0 -232
- package/dist_ts/ts/security/index.d.ts +0 -3
- package/dist_ts/ts/security/index.js +0 -4
- package/dist_ts/ts/sms/classes.smsservice.d.ts +0 -15
- package/dist_ts/ts/sms/classes.smsservice.js +0 -72
- package/dist_ts/ts/sms/config/sms.config.d.ts +0 -93
- package/dist_ts/ts/sms/config/sms.config.js +0 -2
- package/dist_ts/ts/sms/config/sms.schema.d.ts +0 -5
- package/dist_ts/ts/sms/config/sms.schema.js +0 -121
- package/dist_ts/ts/sms/index.d.ts +0 -1
- package/dist_ts/ts/sms/index.js +0 -2
- package/dist_ts/ts/storage/classes.storagemanager.d.ts +0 -82
- package/dist_ts/ts/storage/classes.storagemanager.js +0 -341
- package/dist_ts/ts/storage/index.d.ts +0 -1
- package/dist_ts/ts/storage/index.js +0 -3
- package/dist_ts/ts_interfaces/requests/index.js +0 -5
- package/html/index.html +0 -121
- package/readme.opsserver.md +0 -351
- package/test/helpers/server.loader.ts +0 -347
- package/test/helpers/smtp.client.ts +0 -209
- package/test/helpers/utils.ts +0 -311
- package/test/readme.md +0 -443
- package/test/suite/smtpclient_commands/test.ccmd-01.ehlo-helo-sending.ts +0 -168
- package/test/suite/smtpclient_commands/test.ccmd-02.mail-from-parameters.ts +0 -277
- package/test/suite/smtpclient_commands/test.ccmd-03.rcpt-to-multiple.ts +0 -283
- package/test/suite/smtpclient_commands/test.ccmd-04.data-transmission.ts +0 -274
- package/test/suite/smtpclient_commands/test.ccmd-05.auth-mechanisms.ts +0 -306
- package/test/suite/smtpclient_commands/test.ccmd-06.command-pipelining.ts +0 -233
- package/test/suite/smtpclient_commands/test.ccmd-07.response-parsing.ts +0 -243
- package/test/suite/smtpclient_commands/test.ccmd-08.rset-command.ts +0 -333
- package/test/suite/smtpclient_commands/test.ccmd-09.noop-command.ts +0 -339
- package/test/suite/smtpclient_commands/test.ccmd-10.vrfy-expn.ts +0 -457
- package/test/suite/smtpclient_commands/test.ccmd-11.help-command.ts +0 -409
- package/test/suite/smtpclient_connection/test.ccm-01.basic-tcp-connection.ts +0 -150
- package/test/suite/smtpclient_connection/test.ccm-02.tls-connection.ts +0 -140
- package/test/suite/smtpclient_connection/test.ccm-03.starttls-upgrade.ts +0 -208
- package/test/suite/smtpclient_connection/test.ccm-04.connection-pooling.ts +0 -250
- package/test/suite/smtpclient_connection/test.ccm-05.connection-reuse.ts +0 -288
- package/test/suite/smtpclient_connection/test.ccm-06.connection-timeout.ts +0 -267
- package/test/suite/smtpclient_connection/test.ccm-07.automatic-reconnection.ts +0 -324
- package/test/suite/smtpclient_connection/test.ccm-08.dns-resolution.ts +0 -139
- package/test/suite/smtpclient_connection/test.ccm-09.ipv6-dual-stack.ts +0 -167
- package/test/suite/smtpclient_connection/test.ccm-10.proxy-support.ts +0 -305
- package/test/suite/smtpclient_connection/test.ccm-11.keepalive.ts +0 -299
- package/test/suite/smtpclient_edge-cases/test.cedge-01.unusual-server-responses.ts +0 -529
- package/test/suite/smtpclient_edge-cases/test.cedge-02.malformed-commands.ts +0 -438
- package/test/suite/smtpclient_edge-cases/test.cedge-03.protocol-violations.ts +0 -446
- package/test/suite/smtpclient_edge-cases/test.cedge-04.resource-constraints.ts +0 -530
- package/test/suite/smtpclient_edge-cases/test.cedge-05.encoding-issues.ts +0 -145
- package/test/suite/smtpclient_edge-cases/test.cedge-06.large-headers.ts +0 -180
- package/test/suite/smtpclient_edge-cases/test.cedge-07.concurrent-operations.ts +0 -204
- package/test/suite/smtpclient_email-composition/test.cep-01.basic-headers.ts +0 -245
- package/test/suite/smtpclient_email-composition/test.cep-02.mime-multipart.ts +0 -321
- package/test/suite/smtpclient_email-composition/test.cep-03.attachment-encoding.ts +0 -334
- package/test/suite/smtpclient_email-composition/test.cep-04.bcc-handling.ts +0 -187
- package/test/suite/smtpclient_email-composition/test.cep-05.reply-to-return-path.ts +0 -277
- package/test/suite/smtpclient_email-composition/test.cep-06.utf8-international.ts +0 -235
- package/test/suite/smtpclient_email-composition/test.cep-07.html-inline-images.ts +0 -489
- package/test/suite/smtpclient_email-composition/test.cep-08.custom-headers.ts +0 -293
- package/test/suite/smtpclient_email-composition/test.cep-09.priority-importance.ts +0 -314
- package/test/suite/smtpclient_email-composition/test.cep-10.receipts-dsn.ts +0 -411
- package/test/suite/smtpclient_error-handling/test.cerr-01.4xx-errors.ts +0 -232
- package/test/suite/smtpclient_error-handling/test.cerr-02.5xx-errors.ts +0 -309
- package/test/suite/smtpclient_error-handling/test.cerr-03.network-failures.ts +0 -299
- package/test/suite/smtpclient_error-handling/test.cerr-04.greylisting-handling.ts +0 -255
- package/test/suite/smtpclient_error-handling/test.cerr-05.quota-exceeded.ts +0 -273
- package/test/suite/smtpclient_error-handling/test.cerr-06.invalid-recipients.ts +0 -320
- package/test/suite/smtpclient_error-handling/test.cerr-07.message-size-limits.ts +0 -320
- package/test/suite/smtpclient_error-handling/test.cerr-08.rate-limiting.ts +0 -261
- package/test/suite/smtpclient_error-handling/test.cerr-09.connection-pool-errors.ts +0 -299
- package/test/suite/smtpclient_error-handling/test.cerr-10.partial-failure.ts +0 -373
- package/test/suite/smtpclient_performance/test.cperf-01.bulk-sending.ts +0 -332
- package/test/suite/smtpclient_performance/test.cperf-02.message-throughput.ts +0 -304
- package/test/suite/smtpclient_performance/test.cperf-03.memory-usage.ts +0 -332
- package/test/suite/smtpclient_performance/test.cperf-04.cpu-utilization.ts +0 -373
- package/test/suite/smtpclient_performance/test.cperf-05.network-efficiency.ts +0 -181
- package/test/suite/smtpclient_performance/test.cperf-06.caching-strategies.ts +0 -190
- package/test/suite/smtpclient_performance/test.cperf-07.queue-management.ts +0 -171
- package/test/suite/smtpclient_performance/test.cperf-08.dns-caching.ts +0 -50
- package/test/suite/smtpclient_reliability/test.crel-01.reconnection-logic.ts +0 -305
- package/test/suite/smtpclient_reliability/test.crel-02.network-interruption.ts +0 -207
- package/test/suite/smtpclient_reliability/test.crel-03.queue-persistence.ts +0 -469
- package/test/suite/smtpclient_reliability/test.crel-04.crash-recovery.ts +0 -520
- package/test/suite/smtpclient_reliability/test.crel-05.memory-leaks.ts +0 -503
- package/test/suite/smtpclient_reliability/test.crel-06.concurrency-safety.ts +0 -558
- package/test/suite/smtpclient_reliability/test.crel-07.resource-cleanup.ts +0 -52
- package/test/suite/smtpclient_rfc-compliance/test.crfc-01.rfc5321-client.ts +0 -283
- package/test/suite/smtpclient_rfc-compliance/test.crfc-02.esmtp-compliance.ts +0 -77
- package/test/suite/smtpclient_rfc-compliance/test.crfc-03.command-syntax.ts +0 -67
- package/test/suite/smtpclient_rfc-compliance/test.crfc-04.response-codes.ts +0 -54
- package/test/suite/smtpclient_rfc-compliance/test.crfc-05.state-machine.ts +0 -703
- package/test/suite/smtpclient_rfc-compliance/test.crfc-06.protocol-negotiation.ts +0 -688
- package/test/suite/smtpclient_rfc-compliance/test.crfc-07.interoperability.ts +0 -728
- package/test/suite/smtpclient_rfc-compliance/test.crfc-08.smtp-extensions.ts +0 -656
- package/test/suite/smtpclient_security/test.csec-01.tls-verification.ts +0 -88
- package/test/suite/smtpclient_security/test.csec-02.oauth2-authentication.ts +0 -132
- package/test/suite/smtpclient_security/test.csec-03.dkim-signing.ts +0 -138
- package/test/suite/smtpclient_security/test.csec-04.spf-compliance.ts +0 -163
- package/test/suite/smtpclient_security/test.csec-05.dmarc-policy.ts +0 -200
- package/test/suite/smtpclient_security/test.csec-06.certificate-validation.ts +0 -145
- package/test/suite/smtpclient_security/test.csec-07.cipher-suites.ts +0 -153
- package/test/suite/smtpclient_security/test.csec-08.authentication-fallback.ts +0 -154
- package/test/suite/smtpclient_security/test.csec-09.relay-restrictions.ts +0 -166
- package/test/suite/smtpclient_security/test.csec-10.anti-spam-measures.ts +0 -196
- package/test/suite/smtpserver_commands/test.cmd-01.ehlo-command.ts +0 -193
- package/test/suite/smtpserver_commands/test.cmd-02.mail-from.ts +0 -330
- package/test/suite/smtpserver_commands/test.cmd-03.rcpt-to.ts +0 -296
- package/test/suite/smtpserver_commands/test.cmd-04.data-command.ts +0 -395
- package/test/suite/smtpserver_commands/test.cmd-05.noop-command.ts +0 -320
- package/test/suite/smtpserver_commands/test.cmd-06.rset-command.ts +0 -399
- package/test/suite/smtpserver_commands/test.cmd-07.vrfy-command.ts +0 -391
- package/test/suite/smtpserver_commands/test.cmd-08.expn-command.ts +0 -450
- package/test/suite/smtpserver_commands/test.cmd-09.size-extension.ts +0 -465
- package/test/suite/smtpserver_commands/test.cmd-10.help-command.ts +0 -454
- package/test/suite/smtpserver_commands/test.cmd-11.command-pipelining.ts +0 -334
- package/test/suite/smtpserver_commands/test.cmd-12.helo-command.ts +0 -420
- package/test/suite/smtpserver_commands/test.cmd-13.quit-command.ts +0 -384
- package/test/suite/smtpserver_connection/test.cm-01.tls-connection.ts +0 -61
- package/test/suite/smtpserver_connection/test.cm-02.multiple-connections.ts +0 -112
- package/test/suite/smtpserver_connection/test.cm-03.connection-timeout.ts +0 -134
- package/test/suite/smtpserver_connection/test.cm-04.connection-limits.ts +0 -374
- package/test/suite/smtpserver_connection/test.cm-05.connection-rejection.ts +0 -296
- package/test/suite/smtpserver_connection/test.cm-06.starttls-upgrade.ts +0 -468
- package/test/suite/smtpserver_connection/test.cm-07.abrupt-disconnection.ts +0 -321
- package/test/suite/smtpserver_connection/test.cm-08.tls-versions.ts +0 -361
- package/test/suite/smtpserver_connection/test.cm-09.tls-ciphers.ts +0 -556
- package/test/suite/smtpserver_connection/test.cm-10.plain-connection.ts +0 -293
- package/test/suite/smtpserver_connection/test.cm-11.keepalive.ts +0 -382
- package/test/suite/smtpserver_edge-cases/test.edge-01.very-large-email.ts +0 -239
- package/test/suite/smtpserver_edge-cases/test.edge-02.very-small-email.ts +0 -389
- package/test/suite/smtpserver_edge-cases/test.edge-03.invalid-character-handling.ts +0 -479
- package/test/suite/smtpserver_edge-cases/test.edge-04.empty-commands.ts +0 -430
- package/test/suite/smtpserver_edge-cases/test.edge-05.extremely-long-lines.ts +0 -425
- package/test/suite/smtpserver_edge-cases/test.edge-06.extremely-long-headers.ts +0 -404
- package/test/suite/smtpserver_edge-cases/test.edge-07.unusual-mime-types.ts +0 -333
- package/test/suite/smtpserver_edge-cases/test.edge-08.nested-mime-structures.ts +0 -379
- package/test/suite/smtpserver_email-processing/test.ep-01.basic-email-sending.ts +0 -338
- package/test/suite/smtpserver_email-processing/test.ep-02.invalid-email-addresses.ts +0 -315
- package/test/suite/smtpserver_email-processing/test.ep-03.multiple-recipients.ts +0 -493
- package/test/suite/smtpserver_email-processing/test.ep-04.large-email.ts +0 -528
- package/test/suite/smtpserver_email-processing/test.ep-05.mime-handling.ts +0 -515
- package/test/suite/smtpserver_email-processing/test.ep-06.attachment-handling.ts +0 -629
- package/test/suite/smtpserver_email-processing/test.ep-07.special-character-handling.ts +0 -462
- package/test/suite/smtpserver_email-processing/test.ep-08.email-routing.ts +0 -527
- package/test/suite/smtpserver_email-processing/test.ep-09.delivery-status-notifications.ts +0 -486
- package/test/suite/smtpserver_error-handling/test.err-01.syntax-errors.ts +0 -475
- package/test/suite/smtpserver_error-handling/test.err-02.invalid-sequence.ts +0 -450
- package/test/suite/smtpserver_error-handling/test.err-03.temporary-failures.ts +0 -453
- package/test/suite/smtpserver_error-handling/test.err-04.permanent-failures.ts +0 -325
- package/test/suite/smtpserver_error-handling/test.err-05.resource-exhaustion.ts +0 -302
- package/test/suite/smtpserver_error-handling/test.err-06.malformed-mime.ts +0 -374
- package/test/suite/smtpserver_error-handling/test.err-07.exception-handling.ts +0 -333
- package/test/suite/smtpserver_error-handling/test.err-08.error-logging.ts +0 -324
- package/test/suite/smtpserver_performance/test.perf-01.throughput.ts +0 -183
- package/test/suite/smtpserver_performance/test.perf-02.concurrency.ts +0 -388
- package/test/suite/smtpserver_performance/test.perf-03.cpu-utilization.ts +0 -245
- package/test/suite/smtpserver_performance/test.perf-04.memory-usage.ts +0 -238
- package/test/suite/smtpserver_performance/test.perf-05.connection-processing-time.ts +0 -363
- package/test/suite/smtpserver_performance/test.perf-06.message-processing-time.ts +0 -252
- package/test/suite/smtpserver_performance/test.perf-07.resource-cleanup.ts +0 -317
- package/test/suite/smtpserver_reliability/test.rel-01.long-running-operation.ts +0 -344
- package/test/suite/smtpserver_reliability/test.rel-02.restart-recovery.ts +0 -328
- package/test/suite/smtpserver_reliability/test.rel-03.resource-leak-detection.ts +0 -394
- package/test/suite/smtpserver_reliability/test.rel-04.error-recovery.ts +0 -401
- package/test/suite/smtpserver_reliability/test.rel-05.dns-resolution-failure.ts +0 -335
- package/test/suite/smtpserver_reliability/test.rel-06.network-interruption.ts +0 -410
- package/test/suite/smtpserver_rfc-compliance/test.rfc-01.rfc5321-compliance.ts +0 -382
- package/test/suite/smtpserver_rfc-compliance/test.rfc-02.rfc5322-compliance.ts +0 -428
- package/test/suite/smtpserver_rfc-compliance/test.rfc-03.rfc7208-spf-compliance.ts +0 -330
- package/test/suite/smtpserver_rfc-compliance/test.rfc-04.rfc6376-dkim-compliance.ts +0 -450
- package/test/suite/smtpserver_rfc-compliance/test.rfc-05.rfc7489-dmarc-compliance.ts +0 -408
- package/test/suite/smtpserver_rfc-compliance/test.rfc-06.rfc8314-tls-compliance.ts +0 -366
- package/test/suite/smtpserver_rfc-compliance/test.rfc-07.rfc3461-dsn-compliance.ts +0 -399
- package/test/suite/smtpserver_security/test.sec-01.authentication.ts +0 -218
- package/test/suite/smtpserver_security/test.sec-02.authorization.ts +0 -286
- package/test/suite/smtpserver_security/test.sec-03.dkim-processing.ts +0 -414
- package/test/suite/smtpserver_security/test.sec-04.spf-checking.ts +0 -280
- package/test/suite/smtpserver_security/test.sec-05.dmarc-policy.ts +0 -374
- package/test/suite/smtpserver_security/test.sec-06.ip-reputation.ts +0 -303
- package/test/suite/smtpserver_security/test.sec-07.content-scanning.ts +0 -409
- package/test/suite/smtpserver_security/test.sec-08.rate-limiting.ts +0 -324
- package/test/suite/smtpserver_security/test.sec-09.tls-certificate-validation.ts +0 -312
- package/test/suite/smtpserver_security/test.sec-10.header-injection-prevention.ts +0 -332
- package/test/suite/smtpserver_security/test.sec-11.bounce-management.ts +0 -363
- package/test/test.base.ts +0 -65
- package/test/test.bouncemanager.ts +0 -196
- package/test/test.config.md +0 -175
- package/test/test.contentscanner.ts +0 -265
- package/test/test.dcrouter.email.ts +0 -201
- package/test/test.deliverability.ts +0 -55
- package/test/test.dns-manager-creation.ts +0 -141
- package/test/test.dns-mode-switching.ts +0 -257
- package/test/test.dns-server-config.ts +0 -140
- package/test/test.dns-socket-handler.ts +0 -169
- package/test/test.dns-validation.ts +0 -283
- package/test/test.email-socket-handler.ts +0 -228
- package/test/test.email.integration.ts +0 -377
- package/test/test.email.router.ts +0 -283
- package/test/test.emailauth.ts +0 -195
- package/test/test.errors.ts +0 -408
- package/test/test.integration.storage.ts +0 -313
- package/test/test.integration.ts +0 -75
- package/test/test.ipreputationchecker.ts +0 -179
- package/test/test.ipwarmupmanager.ts +0 -323
- package/test/test.jwt-auth.ts +0 -130
- package/test/test.minimal.ts +0 -66
- package/test/test.opsserver-api.ts +0 -83
- package/test/test.protected-endpoint.ts +0 -115
- package/test/test.rate-limiting-integration.ts +0 -236
- package/test/test.ratelimiter.ts +0 -141
- package/test/test.reputationmonitor.ts +0 -262
- package/test/test.smartmail.ts +0 -248
- package/test/test.smtp.client.compatibility.ts +0 -154
- package/test/test.smtp.client.ts +0 -191
- package/test/test.smtp.server.ts +0 -180
- package/test/test.socket-handler-integration.ts +0 -240
- package/test/test.socket-handler-unit.ts +0 -198
- package/test/test.storagemanager.ts +0 -289
- package/ts/deliverability/classes.ipwarmupmanager.ts +0 -896
- package/ts/deliverability/classes.senderreputationmonitor.ts +0 -1244
- package/ts/deliverability/index.ts +0 -13
- package/ts/errors/email.errors.ts +0 -383
- package/ts/errors/mta.errors.ts +0 -681
- package/ts/mail/core/classes.bouncemanager.ts +0 -965
- package/ts/mail/core/classes.email.ts +0 -941
- package/ts/mail/core/classes.emailvalidator.ts +0 -239
- package/ts/mail/core/classes.templatemanager.ts +0 -320
- package/ts/mail/core/index.ts +0 -5
- package/ts/mail/delivery/classes.delivery.queue.ts +0 -645
- package/ts/mail/delivery/classes.delivery.system.ts +0 -1089
- package/ts/mail/delivery/classes.emailsendjob.ts +0 -447
- package/ts/mail/delivery/classes.emailsendjob.ts.backup +0 -691
- package/ts/mail/delivery/classes.emailsignjob.ts +0 -67
- package/ts/mail/delivery/classes.mta.config.ts +0 -73
- package/ts/mail/delivery/classes.ratelimiter.ts +0 -281
- package/ts/mail/delivery/classes.smtp.client.legacy.ts +0 -1422
- package/ts/mail/delivery/classes.unified.rate.limiter.ts +0 -1053
- package/ts/mail/delivery/index.ts +0 -24
- package/ts/mail/delivery/interfaces.ts +0 -291
- package/ts/mail/delivery/smtpclient/auth-handler.ts +0 -232
- package/ts/mail/delivery/smtpclient/command-handler.ts +0 -343
- package/ts/mail/delivery/smtpclient/connection-manager.ts +0 -289
- package/ts/mail/delivery/smtpclient/constants.ts +0 -145
- package/ts/mail/delivery/smtpclient/create-client.ts +0 -94
- package/ts/mail/delivery/smtpclient/error-handler.ts +0 -141
- package/ts/mail/delivery/smtpclient/index.ts +0 -24
- package/ts/mail/delivery/smtpclient/interfaces.ts +0 -242
- package/ts/mail/delivery/smtpclient/smtp-client.ts +0 -357
- package/ts/mail/delivery/smtpclient/tls-handler.ts +0 -254
- package/ts/mail/delivery/smtpclient/utils/helpers.ts +0 -224
- package/ts/mail/delivery/smtpclient/utils/logging.ts +0 -212
- package/ts/mail/delivery/smtpclient/utils/validation.ts +0 -170
- package/ts/mail/delivery/smtpserver/certificate-utils.ts +0 -398
- package/ts/mail/delivery/smtpserver/command-handler.ts +0 -1340
- package/ts/mail/delivery/smtpserver/connection-manager.ts +0 -1045
- package/ts/mail/delivery/smtpserver/constants.ts +0 -181
- package/ts/mail/delivery/smtpserver/create-server.ts +0 -31
- package/ts/mail/delivery/smtpserver/data-handler.ts +0 -1283
- package/ts/mail/delivery/smtpserver/index.ts +0 -32
- package/ts/mail/delivery/smtpserver/interfaces.ts +0 -655
- package/ts/mail/delivery/smtpserver/secure-server.ts +0 -97
- package/ts/mail/delivery/smtpserver/security-handler.ts +0 -345
- package/ts/mail/delivery/smtpserver/session-manager.ts +0 -557
- package/ts/mail/delivery/smtpserver/smtp-server.ts +0 -804
- package/ts/mail/delivery/smtpserver/starttls-handler.ts +0 -262
- package/ts/mail/delivery/smtpserver/tls-handler.ts +0 -346
- package/ts/mail/delivery/smtpserver/utils/adaptive-logging.ts +0 -514
- package/ts/mail/delivery/smtpserver/utils/helpers.ts +0 -246
- package/ts/mail/delivery/smtpserver/utils/logging.ts +0 -246
- package/ts/mail/delivery/smtpserver/utils/validation.ts +0 -436
- package/ts/mail/index.ts +0 -19
- package/ts/mail/routing/classes.dns.manager.ts +0 -563
- package/ts/mail/routing/classes.dnsmanager.ts +0 -559
- package/ts/mail/routing/classes.domain.registry.ts +0 -139
- package/ts/mail/routing/classes.email.config.ts +0 -82
- package/ts/mail/routing/classes.email.router.ts +0 -575
- package/ts/mail/routing/classes.unified.email.server.ts +0 -1873
- package/ts/mail/routing/index.ts +0 -6
- package/ts/mail/routing/interfaces.ts +0 -202
- package/ts/mail/security/classes.dkimcreator.ts +0 -431
- package/ts/mail/security/classes.dkimverifier.ts +0 -382
- package/ts/mail/security/classes.dmarcverifier.ts +0 -478
- package/ts/mail/security/classes.spfverifier.ts +0 -606
- package/ts/mail/security/index.ts +0 -5
- package/ts_interfaces/data/auth.ts +0 -8
- package/ts_interfaces/data/index.ts +0 -2
- package/ts_interfaces/data/stats.ts +0 -101
- package/ts_interfaces/index.ts +0 -9
- package/ts_interfaces/plugins.ts +0 -6
- package/ts_interfaces/requests/admin.ts +0 -46
- package/ts_interfaces/requests/config.ts +0 -35
- package/ts_interfaces/requests/index.ts +0 -4
- package/ts_interfaces/requests/logs.ts +0 -44
- package/ts_interfaces/requests/stats.ts +0 -162
- package/ts_interfaces/tspublish.json +0 -3
- package/ts_web/elements/ops-view-stats.ts +0 -299
- package/tsconfig.json +0 -15
- /package/dist_ts/{ts/opsserver → opsserver}/handlers/logs.handler.d.ts +0 -0
- /package/dist_ts/{ts/opsserver → opsserver}/handlers/security.handler.d.ts +0 -0
- /package/dist_ts/{ts/opsserver → opsserver}/handlers/stats.handler.d.ts +0 -0
- /package/{dist_ts/ts_interfaces → dist_ts_interfaces}/data/auth.d.ts +0 -0
- /package/{dist_ts/ts_interfaces → dist_ts_interfaces}/data/index.d.ts +0 -0
- /package/{dist_ts/ts_interfaces → dist_ts_interfaces}/index.d.ts +0 -0
- /package/{dist_ts/ts_interfaces → dist_ts_interfaces}/plugins.d.ts +0 -0
- /package/{dist_ts/ts_interfaces → dist_ts_interfaces}/requests/admin.d.ts +0 -0
- /package/{dist_ts/ts_interfaces → dist_ts_interfaces}/requests/logs.d.ts +0 -0
- /package/{dist_ts/ts_interfaces → dist_ts_interfaces}/requests/stats.d.ts +0 -0
- /package/{dist_ts/ts → dist_ts_web}/00_commitinfo_data.d.ts +0 -0
|
@@ -1,472 +0,0 @@
|
|
|
1
|
-
import { PlatformError, NetworkError, AuthenticationError, OperationError, ConfigurationError } from './base.errors.js';
|
|
2
|
-
import { MTA_CONNECTION_ERROR, MTA_AUTHENTICATION_ERROR, MTA_DELIVERY_ERROR, MTA_CONFIGURATION_ERROR, MTA_DNS_ERROR, MTA_TIMEOUT_ERROR, MTA_PROTOCOL_ERROR } from './error.codes.js';
|
|
3
|
-
/**
|
|
4
|
-
* Base class for MTA connection errors
|
|
5
|
-
*/
|
|
6
|
-
export class MtaConnectionError extends NetworkError {
|
|
7
|
-
/**
|
|
8
|
-
* Creates a new MTA connection error
|
|
9
|
-
*
|
|
10
|
-
* @param message Error message
|
|
11
|
-
* @param context Additional context
|
|
12
|
-
*/
|
|
13
|
-
constructor(message, context = {}) {
|
|
14
|
-
super(message, MTA_CONNECTION_ERROR, context);
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Creates a new instance with updated context
|
|
18
|
-
*/
|
|
19
|
-
createWithContext(context) {
|
|
20
|
-
return new this.constructor(this.message, context);
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Creates an instance for a DNS resolution error
|
|
24
|
-
*
|
|
25
|
-
* @param hostname Hostname that failed to resolve
|
|
26
|
-
* @param originalError Original error
|
|
27
|
-
* @param context Additional context
|
|
28
|
-
*/
|
|
29
|
-
static dnsError(hostname, originalError, context = {}) {
|
|
30
|
-
const errorMsg = originalError ? `: ${originalError.message}` : '';
|
|
31
|
-
return new MtaConnectionError(`Failed to resolve DNS for ${hostname}${errorMsg}`, {
|
|
32
|
-
...context,
|
|
33
|
-
data: {
|
|
34
|
-
...context.data,
|
|
35
|
-
hostname,
|
|
36
|
-
originalError: originalError ? {
|
|
37
|
-
message: originalError.message,
|
|
38
|
-
stack: originalError.stack
|
|
39
|
-
} : undefined
|
|
40
|
-
},
|
|
41
|
-
userMessage: `Could not connect to mail server for ${hostname}.`
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Creates an instance for a connection timeout
|
|
46
|
-
*
|
|
47
|
-
* @param hostname Hostname that timed out
|
|
48
|
-
* @param port Port number
|
|
49
|
-
* @param timeout Timeout in milliseconds
|
|
50
|
-
* @param context Additional context
|
|
51
|
-
*/
|
|
52
|
-
static timeout(hostname, port, timeout, context = {}) {
|
|
53
|
-
return new MtaConnectionError(`Connection to ${hostname}:${port} timed out after ${timeout}ms`, {
|
|
54
|
-
...context,
|
|
55
|
-
data: {
|
|
56
|
-
...context.data,
|
|
57
|
-
hostname,
|
|
58
|
-
port,
|
|
59
|
-
timeout
|
|
60
|
-
},
|
|
61
|
-
userMessage: `Connection to mail server timed out.`
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Creates an instance for a connection refused error
|
|
66
|
-
*
|
|
67
|
-
* @param hostname Hostname that refused connection
|
|
68
|
-
* @param port Port number
|
|
69
|
-
* @param context Additional context
|
|
70
|
-
*/
|
|
71
|
-
static refused(hostname, port, context = {}) {
|
|
72
|
-
return new MtaConnectionError(`Connection to ${hostname}:${port} refused`, {
|
|
73
|
-
...context,
|
|
74
|
-
data: {
|
|
75
|
-
...context.data,
|
|
76
|
-
hostname,
|
|
77
|
-
port
|
|
78
|
-
},
|
|
79
|
-
userMessage: `Connection to mail server was refused.`
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Error class for MTA authentication errors
|
|
85
|
-
*/
|
|
86
|
-
export class MtaAuthenticationError extends AuthenticationError {
|
|
87
|
-
/**
|
|
88
|
-
* Creates a new MTA authentication error
|
|
89
|
-
*
|
|
90
|
-
* @param message Error message
|
|
91
|
-
* @param context Additional context
|
|
92
|
-
*/
|
|
93
|
-
constructor(message, context = {}) {
|
|
94
|
-
super(message, MTA_AUTHENTICATION_ERROR, context);
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Creates a new instance with updated context
|
|
98
|
-
*/
|
|
99
|
-
createWithContext(context) {
|
|
100
|
-
return new this.constructor(this.message, context);
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Creates an instance for invalid credentials
|
|
104
|
-
*
|
|
105
|
-
* @param hostname Hostname where authentication failed
|
|
106
|
-
* @param username Username that failed authentication
|
|
107
|
-
* @param context Additional context
|
|
108
|
-
*/
|
|
109
|
-
static invalidCredentials(hostname, username, context = {}) {
|
|
110
|
-
return new MtaAuthenticationError(`Authentication failed for user ${username} at ${hostname}`, {
|
|
111
|
-
...context,
|
|
112
|
-
data: {
|
|
113
|
-
...context.data,
|
|
114
|
-
hostname,
|
|
115
|
-
username
|
|
116
|
-
},
|
|
117
|
-
userMessage: `Authentication to mail server failed.`
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Creates an instance for unsupported authentication method
|
|
122
|
-
*
|
|
123
|
-
* @param hostname Hostname
|
|
124
|
-
* @param method Authentication method that is not supported
|
|
125
|
-
* @param supportedMethods List of supported authentication methods
|
|
126
|
-
* @param context Additional context
|
|
127
|
-
*/
|
|
128
|
-
static unsupportedMethod(hostname, method, supportedMethods = [], context = {}) {
|
|
129
|
-
return new MtaAuthenticationError(`Authentication method ${method} not supported by ${hostname}${supportedMethods.length > 0 ? `. Supported methods: ${supportedMethods.join(', ')}` : ''}`, {
|
|
130
|
-
...context,
|
|
131
|
-
data: {
|
|
132
|
-
...context.data,
|
|
133
|
-
hostname,
|
|
134
|
-
method,
|
|
135
|
-
supportedMethods
|
|
136
|
-
},
|
|
137
|
-
userMessage: `The mail server doesn't support the required authentication method.`
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Error class for MTA delivery errors
|
|
143
|
-
*/
|
|
144
|
-
export class MtaDeliveryError extends OperationError {
|
|
145
|
-
/**
|
|
146
|
-
* Creates a new MTA delivery error
|
|
147
|
-
*
|
|
148
|
-
* @param message Error message
|
|
149
|
-
* @param context Additional context
|
|
150
|
-
*/
|
|
151
|
-
constructor(message, context = {}) {
|
|
152
|
-
super(message, MTA_DELIVERY_ERROR, context);
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* Creates a new instance with updated context
|
|
156
|
-
*/
|
|
157
|
-
createWithContext(context) {
|
|
158
|
-
return new this.constructor(this.message, context);
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Creates an instance for a permanent delivery failure
|
|
162
|
-
*
|
|
163
|
-
* @param message Error message
|
|
164
|
-
* @param recipientAddress Recipient email address
|
|
165
|
-
* @param statusCode SMTP status code
|
|
166
|
-
* @param smtpResponse Full SMTP response
|
|
167
|
-
* @param context Additional context
|
|
168
|
-
*/
|
|
169
|
-
static permanent(message, recipientAddress, statusCode, smtpResponse, context = {}) {
|
|
170
|
-
const statusCodeStr = statusCode ? ` (${statusCode})` : '';
|
|
171
|
-
return new MtaDeliveryError(`Permanent delivery failure to ${recipientAddress}${statusCodeStr}: ${message}`, {
|
|
172
|
-
...context,
|
|
173
|
-
data: {
|
|
174
|
-
...context.data,
|
|
175
|
-
recipientAddress,
|
|
176
|
-
statusCode,
|
|
177
|
-
smtpResponse,
|
|
178
|
-
permanent: true
|
|
179
|
-
},
|
|
180
|
-
userMessage: `The email could not be delivered to ${recipientAddress}.`
|
|
181
|
-
});
|
|
182
|
-
}
|
|
183
|
-
/**
|
|
184
|
-
* Creates an instance for a temporary delivery failure
|
|
185
|
-
*
|
|
186
|
-
* @param message Error message
|
|
187
|
-
* @param recipientAddress Recipient email address
|
|
188
|
-
* @param statusCode SMTP status code
|
|
189
|
-
* @param smtpResponse Full SMTP response
|
|
190
|
-
* @param maxRetries Maximum number of retries
|
|
191
|
-
* @param currentRetry Current retry count
|
|
192
|
-
* @param retryDelay Delay between retries in ms
|
|
193
|
-
* @param context Additional context
|
|
194
|
-
*/
|
|
195
|
-
static temporary(message, recipientAddress, statusCode, smtpResponse, maxRetries = 3, currentRetry = 0, retryDelay = 60000, context = {}) {
|
|
196
|
-
const statusCodeStr = statusCode ? ` (${statusCode})` : '';
|
|
197
|
-
const error = new MtaDeliveryError(`Temporary delivery failure to ${recipientAddress}${statusCodeStr}: ${message}`, {
|
|
198
|
-
...context,
|
|
199
|
-
data: {
|
|
200
|
-
...context.data,
|
|
201
|
-
recipientAddress,
|
|
202
|
-
statusCode,
|
|
203
|
-
smtpResponse,
|
|
204
|
-
permanent: false
|
|
205
|
-
},
|
|
206
|
-
userMessage: `The email delivery to ${recipientAddress} failed temporarily. It will be retried.`
|
|
207
|
-
});
|
|
208
|
-
return error.withRetry(maxRetries, currentRetry, retryDelay);
|
|
209
|
-
}
|
|
210
|
-
/**
|
|
211
|
-
* Check if this is a permanent delivery failure
|
|
212
|
-
*/
|
|
213
|
-
isPermanent() {
|
|
214
|
-
return !!this.context.data?.permanent;
|
|
215
|
-
}
|
|
216
|
-
/**
|
|
217
|
-
* Get the recipient address associated with this delivery error
|
|
218
|
-
*/
|
|
219
|
-
getRecipientAddress() {
|
|
220
|
-
return this.context.data?.recipientAddress;
|
|
221
|
-
}
|
|
222
|
-
/**
|
|
223
|
-
* Get the SMTP status code associated with this delivery error
|
|
224
|
-
*/
|
|
225
|
-
getStatusCode() {
|
|
226
|
-
return this.context.data?.statusCode;
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
/**
|
|
230
|
-
* Error class for MTA configuration errors
|
|
231
|
-
*/
|
|
232
|
-
export class MtaConfigurationError extends ConfigurationError {
|
|
233
|
-
/**
|
|
234
|
-
* Creates a new MTA configuration error
|
|
235
|
-
*
|
|
236
|
-
* @param message Error message
|
|
237
|
-
* @param context Additional context
|
|
238
|
-
*/
|
|
239
|
-
constructor(message, context = {}) {
|
|
240
|
-
super(message, MTA_CONFIGURATION_ERROR, context);
|
|
241
|
-
}
|
|
242
|
-
/**
|
|
243
|
-
* Creates a new instance with updated context
|
|
244
|
-
*/
|
|
245
|
-
createWithContext(context) {
|
|
246
|
-
return new this.constructor(this.message, context);
|
|
247
|
-
}
|
|
248
|
-
/**
|
|
249
|
-
* Creates an instance for a missing configuration value
|
|
250
|
-
*
|
|
251
|
-
* @param propertyPath Path to the missing property
|
|
252
|
-
* @param context Additional context
|
|
253
|
-
*/
|
|
254
|
-
static missingConfig(propertyPath, context = {}) {
|
|
255
|
-
return new MtaConfigurationError(`Missing required configuration: ${propertyPath}`, {
|
|
256
|
-
...context,
|
|
257
|
-
data: {
|
|
258
|
-
...context.data,
|
|
259
|
-
propertyPath
|
|
260
|
-
},
|
|
261
|
-
userMessage: `The mail server is missing required configuration.`
|
|
262
|
-
});
|
|
263
|
-
}
|
|
264
|
-
/**
|
|
265
|
-
* Creates an instance for an invalid configuration value
|
|
266
|
-
*
|
|
267
|
-
* @param propertyPath Path to the invalid property
|
|
268
|
-
* @param value Current value
|
|
269
|
-
* @param expectedType Expected type or format
|
|
270
|
-
* @param context Additional context
|
|
271
|
-
*/
|
|
272
|
-
static invalidConfig(propertyPath, value, expectedType, context = {}) {
|
|
273
|
-
return new MtaConfigurationError(`Invalid configuration value for ${propertyPath}: got ${value} (${typeof value}), expected ${expectedType}`, {
|
|
274
|
-
...context,
|
|
275
|
-
data: {
|
|
276
|
-
...context.data,
|
|
277
|
-
propertyPath,
|
|
278
|
-
value,
|
|
279
|
-
expectedType
|
|
280
|
-
},
|
|
281
|
-
userMessage: `The mail server has an invalid configuration value.`
|
|
282
|
-
});
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
/**
|
|
286
|
-
* Error class for MTA DNS errors
|
|
287
|
-
*/
|
|
288
|
-
export class MtaDnsError extends NetworkError {
|
|
289
|
-
/**
|
|
290
|
-
* Creates a new MTA DNS error
|
|
291
|
-
*
|
|
292
|
-
* @param message Error message
|
|
293
|
-
* @param context Additional context
|
|
294
|
-
*/
|
|
295
|
-
constructor(message, context = {}) {
|
|
296
|
-
super(message, MTA_DNS_ERROR, context);
|
|
297
|
-
}
|
|
298
|
-
/**
|
|
299
|
-
* Creates a new instance with updated context
|
|
300
|
-
*/
|
|
301
|
-
createWithContext(context) {
|
|
302
|
-
return new this.constructor(this.message, context);
|
|
303
|
-
}
|
|
304
|
-
/**
|
|
305
|
-
* Creates an instance for an MX record lookup failure
|
|
306
|
-
*
|
|
307
|
-
* @param domain Domain that failed MX lookup
|
|
308
|
-
* @param originalError Original error
|
|
309
|
-
* @param context Additional context
|
|
310
|
-
*/
|
|
311
|
-
static mxLookupFailed(domain, originalError, context = {}) {
|
|
312
|
-
const errorMsg = originalError ? `: ${originalError.message}` : '';
|
|
313
|
-
return new MtaDnsError(`Failed to lookup MX records for ${domain}${errorMsg}`, {
|
|
314
|
-
...context,
|
|
315
|
-
data: {
|
|
316
|
-
...context.data,
|
|
317
|
-
domain,
|
|
318
|
-
recordType: 'MX',
|
|
319
|
-
originalError: originalError ? {
|
|
320
|
-
message: originalError.message,
|
|
321
|
-
stack: originalError.stack
|
|
322
|
-
} : undefined
|
|
323
|
-
},
|
|
324
|
-
userMessage: `Could not find mail servers for ${domain}.`
|
|
325
|
-
});
|
|
326
|
-
}
|
|
327
|
-
/**
|
|
328
|
-
* Creates an instance for a TXT record lookup failure
|
|
329
|
-
*
|
|
330
|
-
* @param domain Domain that failed TXT lookup
|
|
331
|
-
* @param recordPrefix Optional record prefix (e.g., 'spf', 'dkim', 'dmarc')
|
|
332
|
-
* @param originalError Original error
|
|
333
|
-
* @param context Additional context
|
|
334
|
-
*/
|
|
335
|
-
static txtLookupFailed(domain, recordPrefix, originalError, context = {}) {
|
|
336
|
-
const recordType = recordPrefix ? `${recordPrefix} TXT` : 'TXT';
|
|
337
|
-
const errorMsg = originalError ? `: ${originalError.message}` : '';
|
|
338
|
-
return new MtaDnsError(`Failed to lookup ${recordType} records for ${domain}${errorMsg}`, {
|
|
339
|
-
...context,
|
|
340
|
-
data: {
|
|
341
|
-
...context.data,
|
|
342
|
-
domain,
|
|
343
|
-
recordType,
|
|
344
|
-
recordPrefix,
|
|
345
|
-
originalError: originalError ? {
|
|
346
|
-
message: originalError.message,
|
|
347
|
-
stack: originalError.stack
|
|
348
|
-
} : undefined
|
|
349
|
-
},
|
|
350
|
-
userMessage: `Could not verify ${recordPrefix || ''} records for ${domain}.`
|
|
351
|
-
});
|
|
352
|
-
}
|
|
353
|
-
}
|
|
354
|
-
/**
|
|
355
|
-
* Error class for MTA timeout errors
|
|
356
|
-
*/
|
|
357
|
-
export class MtaTimeoutError extends NetworkError {
|
|
358
|
-
/**
|
|
359
|
-
* Creates a new MTA timeout error
|
|
360
|
-
*
|
|
361
|
-
* @param message Error message
|
|
362
|
-
* @param context Additional context
|
|
363
|
-
*/
|
|
364
|
-
constructor(message, context = {}) {
|
|
365
|
-
super(message, MTA_TIMEOUT_ERROR, context);
|
|
366
|
-
}
|
|
367
|
-
/**
|
|
368
|
-
* Creates a new instance with updated context
|
|
369
|
-
*/
|
|
370
|
-
createWithContext(context) {
|
|
371
|
-
return new this.constructor(this.message, context);
|
|
372
|
-
}
|
|
373
|
-
/**
|
|
374
|
-
* Creates an instance for an SMTP command timeout
|
|
375
|
-
*
|
|
376
|
-
* @param command SMTP command that timed out
|
|
377
|
-
* @param server Server hostname
|
|
378
|
-
* @param timeout Timeout in milliseconds
|
|
379
|
-
* @param context Additional context
|
|
380
|
-
*/
|
|
381
|
-
static commandTimeout(command, server, timeout, context = {}) {
|
|
382
|
-
return new MtaTimeoutError(`SMTP command ${command} to ${server} timed out after ${timeout}ms`, {
|
|
383
|
-
...context,
|
|
384
|
-
data: {
|
|
385
|
-
...context.data,
|
|
386
|
-
command,
|
|
387
|
-
server,
|
|
388
|
-
timeout
|
|
389
|
-
},
|
|
390
|
-
userMessage: `The mail server took too long to respond.`
|
|
391
|
-
});
|
|
392
|
-
}
|
|
393
|
-
/**
|
|
394
|
-
* Creates an instance for an overall transaction timeout
|
|
395
|
-
*
|
|
396
|
-
* @param server Server hostname
|
|
397
|
-
* @param timeout Timeout in milliseconds
|
|
398
|
-
* @param context Additional context
|
|
399
|
-
*/
|
|
400
|
-
static transactionTimeout(server, timeout, context = {}) {
|
|
401
|
-
return new MtaTimeoutError(`SMTP transaction with ${server} timed out after ${timeout}ms`, {
|
|
402
|
-
...context,
|
|
403
|
-
data: {
|
|
404
|
-
...context.data,
|
|
405
|
-
server,
|
|
406
|
-
timeout
|
|
407
|
-
},
|
|
408
|
-
userMessage: `The mail server transaction took too long to complete.`
|
|
409
|
-
});
|
|
410
|
-
}
|
|
411
|
-
}
|
|
412
|
-
/**
|
|
413
|
-
* Error class for MTA protocol errors
|
|
414
|
-
*/
|
|
415
|
-
export class MtaProtocolError extends OperationError {
|
|
416
|
-
/**
|
|
417
|
-
* Creates a new MTA protocol error
|
|
418
|
-
*
|
|
419
|
-
* @param message Error message
|
|
420
|
-
* @param context Additional context
|
|
421
|
-
*/
|
|
422
|
-
constructor(message, context = {}) {
|
|
423
|
-
super(message, MTA_PROTOCOL_ERROR, context);
|
|
424
|
-
}
|
|
425
|
-
/**
|
|
426
|
-
* Creates a new instance with updated context
|
|
427
|
-
*/
|
|
428
|
-
createWithContext(context) {
|
|
429
|
-
return new this.constructor(this.message, context);
|
|
430
|
-
}
|
|
431
|
-
/**
|
|
432
|
-
* Creates an instance for an unexpected server response
|
|
433
|
-
*
|
|
434
|
-
* @param command SMTP command that received unexpected response
|
|
435
|
-
* @param response Unexpected response
|
|
436
|
-
* @param expected Expected response pattern
|
|
437
|
-
* @param server Server hostname
|
|
438
|
-
* @param context Additional context
|
|
439
|
-
*/
|
|
440
|
-
static unexpectedResponse(command, response, expected, server, context = {}) {
|
|
441
|
-
return new MtaProtocolError(`Unexpected SMTP response from ${server} for command ${command}: got "${response}", expected "${expected}"`, {
|
|
442
|
-
...context,
|
|
443
|
-
data: {
|
|
444
|
-
...context.data,
|
|
445
|
-
command,
|
|
446
|
-
response,
|
|
447
|
-
expected,
|
|
448
|
-
server
|
|
449
|
-
},
|
|
450
|
-
userMessage: `Received an unexpected response from the mail server.`
|
|
451
|
-
});
|
|
452
|
-
}
|
|
453
|
-
/**
|
|
454
|
-
* Creates an instance for a syntax error
|
|
455
|
-
*
|
|
456
|
-
* @param details Error details
|
|
457
|
-
* @param server Server hostname
|
|
458
|
-
* @param context Additional context
|
|
459
|
-
*/
|
|
460
|
-
static syntaxError(details, server, context = {}) {
|
|
461
|
-
return new MtaProtocolError(`SMTP syntax error in communication with ${server}: ${details}`, {
|
|
462
|
-
...context,
|
|
463
|
-
data: {
|
|
464
|
-
...context.data,
|
|
465
|
-
details,
|
|
466
|
-
server
|
|
467
|
-
},
|
|
468
|
-
userMessage: `There was a protocol error communicating with the mail server.`
|
|
469
|
-
});
|
|
470
|
-
}
|
|
471
|
-
}
|
|
472
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXRhLmVycm9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL2Vycm9ycy9tdGEuZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxhQUFhLEVBQ2IsWUFBWSxFQUNaLG1CQUFtQixFQUNuQixjQUFjLEVBQ2Qsa0JBQWtCLEVBQ25CLE1BQU0sa0JBQWtCLENBQUM7QUFHMUIsT0FBTyxFQUNMLG9CQUFvQixFQUNwQix3QkFBd0IsRUFDeEIsa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2QixhQUFhLEVBQ2IsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNuQixNQUFNLGtCQUFrQixDQUFDO0FBRTFCOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFlBQVk7SUFDbEQ7Ozs7O09BS0c7SUFDSCxZQUNFLE9BQWUsRUFDZixVQUF5QixFQUFFO1FBRTNCLEtBQUssQ0FBQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOztPQUVHO0lBQ08saUJBQWlCLENBQUMsT0FBc0I7UUFDaEQsT0FBTyxJQUFLLElBQUksQ0FBQyxXQUF5QyxDQUN4RCxJQUFJLENBQUMsT0FBTyxFQUNaLE9BQU8sQ0FDUixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxRQUFRLENBQ3BCLFFBQWdCLEVBQ2hCLGFBQXFCLEVBQ3JCLFVBQXlCLEVBQUU7UUFFM0IsTUFBTSxRQUFRLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ25FLE9BQU8sSUFBSSxrQkFBa0IsQ0FDM0IsNkJBQTZCLFFBQVEsR0FBRyxRQUFRLEVBQUUsRUFDbEQ7WUFDRSxHQUFHLE9BQU87WUFDVixJQUFJLEVBQUU7Z0JBQ0osR0FBRyxPQUFPLENBQUMsSUFBSTtnQkFDZixRQUFRO2dCQUNS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
|
|
@@ -1,200 +0,0 @@
|
|
|
1
|
-
import type { Email } from './classes.email.js';
|
|
2
|
-
/**
|
|
3
|
-
* Bounce types for categorizing the reasons for bounces
|
|
4
|
-
*/
|
|
5
|
-
export declare enum BounceType {
|
|
6
|
-
INVALID_RECIPIENT = "invalid_recipient",
|
|
7
|
-
DOMAIN_NOT_FOUND = "domain_not_found",
|
|
8
|
-
MAILBOX_FULL = "mailbox_full",
|
|
9
|
-
MAILBOX_INACTIVE = "mailbox_inactive",
|
|
10
|
-
BLOCKED = "blocked",
|
|
11
|
-
SPAM_RELATED = "spam_related",
|
|
12
|
-
POLICY_RELATED = "policy_related",
|
|
13
|
-
SERVER_UNAVAILABLE = "server_unavailable",
|
|
14
|
-
TEMPORARY_FAILURE = "temporary_failure",
|
|
15
|
-
QUOTA_EXCEEDED = "quota_exceeded",
|
|
16
|
-
NETWORK_ERROR = "network_error",
|
|
17
|
-
TIMEOUT = "timeout",
|
|
18
|
-
AUTO_RESPONSE = "auto_response",
|
|
19
|
-
CHALLENGE_RESPONSE = "challenge_response",
|
|
20
|
-
UNKNOWN = "unknown"
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Hard vs soft bounce classification
|
|
24
|
-
*/
|
|
25
|
-
export declare enum BounceCategory {
|
|
26
|
-
HARD = "hard",
|
|
27
|
-
SOFT = "soft",
|
|
28
|
-
AUTO_RESPONSE = "auto_response",
|
|
29
|
-
UNKNOWN = "unknown"
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Bounce data structure
|
|
33
|
-
*/
|
|
34
|
-
export interface BounceRecord {
|
|
35
|
-
id: string;
|
|
36
|
-
originalEmailId?: string;
|
|
37
|
-
recipient: string;
|
|
38
|
-
sender: string;
|
|
39
|
-
domain: string;
|
|
40
|
-
subject?: string;
|
|
41
|
-
bounceType: BounceType;
|
|
42
|
-
bounceCategory: BounceCategory;
|
|
43
|
-
timestamp: number;
|
|
44
|
-
smtpResponse?: string;
|
|
45
|
-
diagnosticCode?: string;
|
|
46
|
-
statusCode?: string;
|
|
47
|
-
headers?: Record<string, string>;
|
|
48
|
-
processed: boolean;
|
|
49
|
-
retryCount?: number;
|
|
50
|
-
nextRetryTime?: number;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Retry strategy configuration for soft bounces
|
|
54
|
-
*/
|
|
55
|
-
interface RetryStrategy {
|
|
56
|
-
maxRetries: number;
|
|
57
|
-
initialDelay: number;
|
|
58
|
-
maxDelay: number;
|
|
59
|
-
backoffFactor: number;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Manager for handling email bounces
|
|
63
|
-
*/
|
|
64
|
-
export declare class BounceManager {
|
|
65
|
-
private retryStrategy;
|
|
66
|
-
private bounceStore;
|
|
67
|
-
private bounceCache;
|
|
68
|
-
private suppressionList;
|
|
69
|
-
private storageManager?;
|
|
70
|
-
constructor(options?: {
|
|
71
|
-
retryStrategy?: Partial<RetryStrategy>;
|
|
72
|
-
maxCacheSize?: number;
|
|
73
|
-
cacheTTL?: number;
|
|
74
|
-
storageManager?: any;
|
|
75
|
-
});
|
|
76
|
-
/**
|
|
77
|
-
* Process a bounce notification
|
|
78
|
-
* @param bounceData Bounce data to process
|
|
79
|
-
* @returns Processed bounce record
|
|
80
|
-
*/
|
|
81
|
-
processBounce(bounceData: Partial<BounceRecord>): Promise<BounceRecord>;
|
|
82
|
-
/**
|
|
83
|
-
* Process an SMTP failure as a bounce
|
|
84
|
-
* @param recipient Recipient email
|
|
85
|
-
* @param smtpResponse SMTP error response
|
|
86
|
-
* @param options Additional options
|
|
87
|
-
* @returns Processed bounce record
|
|
88
|
-
*/
|
|
89
|
-
processSmtpFailure(recipient: string, smtpResponse: string, options?: {
|
|
90
|
-
sender?: string;
|
|
91
|
-
originalEmailId?: string;
|
|
92
|
-
statusCode?: string;
|
|
93
|
-
headers?: Record<string, string>;
|
|
94
|
-
}): Promise<BounceRecord>;
|
|
95
|
-
/**
|
|
96
|
-
* Process a bounce notification email
|
|
97
|
-
* @param bounceEmail The email containing bounce information
|
|
98
|
-
* @returns Processed bounce record or null if not a bounce
|
|
99
|
-
*/
|
|
100
|
-
processBounceEmail(bounceEmail: Email): Promise<BounceRecord | null>;
|
|
101
|
-
/**
|
|
102
|
-
* Handle a hard bounce by adding to suppression list
|
|
103
|
-
* @param bounce The bounce record
|
|
104
|
-
*/
|
|
105
|
-
private handleHardBounce;
|
|
106
|
-
/**
|
|
107
|
-
* Handle a soft bounce by scheduling a retry if eligible
|
|
108
|
-
* @param bounce The bounce record
|
|
109
|
-
*/
|
|
110
|
-
private handleSoftBounce;
|
|
111
|
-
/**
|
|
112
|
-
* Add an email address to the suppression list
|
|
113
|
-
* @param email Email address to suppress
|
|
114
|
-
* @param reason Reason for suppression
|
|
115
|
-
* @param expiresAt Expiration timestamp (undefined for permanent)
|
|
116
|
-
*/
|
|
117
|
-
addToSuppressionList(email: string, reason: string, expiresAt?: number): void;
|
|
118
|
-
/**
|
|
119
|
-
* Remove an email address from the suppression list
|
|
120
|
-
* @param email Email address to remove
|
|
121
|
-
*/
|
|
122
|
-
removeFromSuppressionList(email: string): void;
|
|
123
|
-
/**
|
|
124
|
-
* Check if an email is on the suppression list
|
|
125
|
-
* @param email Email address to check
|
|
126
|
-
* @returns Whether the email is suppressed
|
|
127
|
-
*/
|
|
128
|
-
isEmailSuppressed(email: string): boolean;
|
|
129
|
-
/**
|
|
130
|
-
* Get suppression information for an email
|
|
131
|
-
* @param email Email address to check
|
|
132
|
-
* @returns Suppression information or null if not suppressed
|
|
133
|
-
*/
|
|
134
|
-
getSuppressionInfo(email: string): {
|
|
135
|
-
reason: string;
|
|
136
|
-
timestamp: number;
|
|
137
|
-
expiresAt?: number;
|
|
138
|
-
} | null;
|
|
139
|
-
/**
|
|
140
|
-
* Save suppression list to disk
|
|
141
|
-
*/
|
|
142
|
-
private saveSuppressionList;
|
|
143
|
-
/**
|
|
144
|
-
* Load suppression list from disk
|
|
145
|
-
*/
|
|
146
|
-
private loadSuppressionList;
|
|
147
|
-
/**
|
|
148
|
-
* Save bounce record to disk
|
|
149
|
-
* @param bounce Bounce record to save
|
|
150
|
-
*/
|
|
151
|
-
private saveBounceRecord;
|
|
152
|
-
/**
|
|
153
|
-
* Update bounce cache with new bounce information
|
|
154
|
-
* @param bounce Bounce record to update cache with
|
|
155
|
-
*/
|
|
156
|
-
private updateBounceCache;
|
|
157
|
-
/**
|
|
158
|
-
* Check bounce history for an email address
|
|
159
|
-
* @param email Email address to check
|
|
160
|
-
* @returns Bounce information or null if no bounces
|
|
161
|
-
*/
|
|
162
|
-
getBounceInfo(email: string): {
|
|
163
|
-
lastBounce: number;
|
|
164
|
-
count: number;
|
|
165
|
-
type: BounceType;
|
|
166
|
-
category: BounceCategory;
|
|
167
|
-
} | null;
|
|
168
|
-
/**
|
|
169
|
-
* Analyze SMTP response and diagnostic codes to determine bounce type
|
|
170
|
-
* @param smtpResponse SMTP response string
|
|
171
|
-
* @param diagnosticCode Diagnostic code from bounce
|
|
172
|
-
* @param statusCode Status code from bounce
|
|
173
|
-
* @returns Detected bounce type and category
|
|
174
|
-
*/
|
|
175
|
-
private detectBounceType;
|
|
176
|
-
/**
|
|
177
|
-
* Check if text matches any pattern for a bounce type
|
|
178
|
-
* @param text Text to check against patterns
|
|
179
|
-
* @param bounceType Bounce type to get patterns for
|
|
180
|
-
* @returns Whether the text matches any pattern
|
|
181
|
-
*/
|
|
182
|
-
private matchesPattern;
|
|
183
|
-
/**
|
|
184
|
-
* Get all known hard bounced addresses
|
|
185
|
-
* @returns Array of hard bounced email addresses
|
|
186
|
-
*/
|
|
187
|
-
getHardBouncedAddresses(): string[];
|
|
188
|
-
/**
|
|
189
|
-
* Get suppression list
|
|
190
|
-
* @returns Array of suppressed email addresses
|
|
191
|
-
*/
|
|
192
|
-
getSuppressionList(): string[];
|
|
193
|
-
/**
|
|
194
|
-
* Clear old bounce records (for maintenance)
|
|
195
|
-
* @param olderThan Timestamp to remove records older than
|
|
196
|
-
* @returns Number of records removed
|
|
197
|
-
*/
|
|
198
|
-
clearOldBounceRecords(olderThan: number): number;
|
|
199
|
-
}
|
|
200
|
-
export {};
|