@push.rocks/smartmta 6.5.2 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/changelog.md +40 -0
- package/dist_rust/mailer-bin_linux_amd64 +0 -0
- package/dist_rust/mailer-bin_linux_arm64 +0 -0
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/functions.errors.d.ts +3 -0
- package/dist_ts/functions.errors.js +8 -0
- package/dist_ts/index.d.ts +3 -0
- package/dist_ts/index.js +4 -1
- package/dist_ts/mail/core/classes.bouncemanager.d.ts +16 -12
- package/dist_ts/mail/core/classes.bouncemanager.js +146 -129
- package/dist_ts/mail/core/classes.email.js +15 -13
- package/dist_ts/mail/core/classes.emailvalidator.d.ts +3 -3
- package/dist_ts/mail/core/classes.emailvalidator.js +7 -5
- package/dist_ts/mail/core/classes.templatemanager.d.ts +10 -6
- package/dist_ts/mail/core/classes.templatemanager.js +35 -51
- package/dist_ts/mail/delivery/classes.delivery.queue.d.ts +92 -22
- package/dist_ts/mail/delivery/classes.delivery.queue.js +738 -151
- package/dist_ts/mail/delivery/classes.delivery.system.d.ts +13 -7
- package/dist_ts/mail/delivery/classes.delivery.system.js +458 -145
- package/dist_ts/mail/delivery/classes.unified.rate.limiter.js +9 -8
- package/dist_ts/mail/delivery/functions.safe-observers.d.ts +10 -0
- package/dist_ts/mail/delivery/functions.safe-observers.js +37 -0
- package/dist_ts/mail/delivery/interfaces.d.ts +21 -0
- package/dist_ts/mail/delivery/interfaces.js +1 -1
- package/dist_ts/mail/interfaces.storage.d.ts +37 -6
- package/dist_ts/mail/interfaces.storage.js +33 -3
- package/dist_ts/mail/routing/classes.dkim.manager.d.ts +10 -6
- package/dist_ts/mail/routing/classes.dkim.manager.js +47 -31
- package/dist_ts/mail/routing/classes.dns.manager.d.ts +7 -5
- package/dist_ts/mail/routing/classes.dns.manager.js +22 -11
- package/dist_ts/mail/routing/classes.email.action.executor.d.ts +2 -1
- package/dist_ts/mail/routing/classes.email.action.executor.js +45 -16
- package/dist_ts/mail/routing/classes.email.router.d.ts +5 -2
- package/dist_ts/mail/routing/classes.email.router.js +17 -12
- package/dist_ts/mail/routing/classes.unified.email.server.d.ts +12 -6
- package/dist_ts/mail/routing/classes.unified.email.server.js +69 -78
- package/dist_ts/mail/routing/interfaces.d.ts +0 -2
- package/dist_ts/mail/security/classes.dkimcreator.d.ts +22 -45
- package/dist_ts/mail/security/classes.dkimcreator.js +93 -296
- package/dist_ts/mail/security/classes.spfverifier.js +5 -3
- package/dist_ts/paths.d.ts +0 -12
- package/dist_ts/paths.js +3 -36
- package/dist_ts/plugins.d.ts +2 -5
- package/dist_ts/plugins.js +3 -6
- package/dist_ts/security/classes.contentscanner.js +14 -12
- package/dist_ts/security/classes.ipreputationchecker.d.ts +9 -6
- package/dist_ts/security/classes.ipreputationchecker.js +42 -93
- package/dist_ts/security/classes.rustsecuritybridge.d.ts +52 -4
- package/dist_ts/security/classes.rustsecuritybridge.js +201 -4
- package/dist_ts/security/classes.securitylogger.js +7 -5
- package/dist_ts/security/index.d.ts +1 -1
- package/dist_ts/security/index.js +2 -2
- package/package.json +8 -9
- package/readme.hints.md +4 -3
- package/readme.md +50 -18
- package/readme.plan.md +6 -0
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/functions.errors.ts +8 -0
- package/ts/index.ts +3 -0
- package/ts/mail/core/classes.bouncemanager.ts +188 -155
- package/ts/mail/core/classes.email.ts +20 -14
- package/ts/mail/core/classes.emailvalidator.ts +9 -7
- package/ts/mail/core/classes.templatemanager.ts +42 -57
- package/ts/mail/delivery/classes.delivery.queue.ts +996 -185
- package/ts/mail/delivery/classes.delivery.system.ts +583 -170
- package/ts/mail/delivery/classes.unified.rate.limiter.ts +9 -8
- package/ts/mail/delivery/functions.safe-observers.ts +45 -0
- package/ts/mail/delivery/interfaces.ts +27 -1
- package/ts/mail/interfaces.storage.ts +64 -10
- package/ts/mail/routing/classes.dkim.manager.ts +65 -40
- package/ts/mail/routing/classes.dns.manager.ts +39 -16
- package/ts/mail/routing/classes.email.action.executor.ts +64 -17
- package/ts/mail/routing/classes.email.router.ts +20 -13
- package/ts/mail/routing/classes.unified.email.server.ts +107 -86
- package/ts/mail/routing/interfaces.ts +0 -2
- package/ts/mail/security/classes.dkimcreator.ts +150 -355
- package/ts/mail/security/classes.spfverifier.ts +4 -2
- package/ts/paths.ts +2 -41
- package/ts/plugins.ts +1 -6
- package/ts/security/classes.contentscanner.ts +14 -12
- package/ts/security/classes.ipreputationchecker.ts +46 -99
- package/ts/security/classes.rustsecuritybridge.ts +272 -6
- package/ts/security/classes.securitylogger.ts +6 -4
- package/ts/security/index.ts +5 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EventEmitter } from 'events';
|
|
2
2
|
import { DKIMCreator } from '../security/classes.dkimcreator.js';
|
|
3
|
-
import {
|
|
3
|
+
import type { IStorageManager } from '../interfaces.storage.js';
|
|
4
4
|
import type { IEmailRoute, IEmailDomainConfig } from './interfaces.js';
|
|
5
5
|
import { Email } from '../core/classes.email.js';
|
|
6
6
|
import { DomainRegistry } from './classes.domain.registry.js';
|
|
@@ -12,7 +12,7 @@ import { UnifiedRateLimiter, type IHierarchicalRateLimits } from '../delivery/cl
|
|
|
12
12
|
import type { EmailProcessingMode, ISmtpSession as IBaseSmtpSession } from '../delivery/interfaces.js';
|
|
13
13
|
/** External DcRouter interface shape used by UnifiedEmailServer */
|
|
14
14
|
interface DcRouter {
|
|
15
|
-
storageManager:
|
|
15
|
+
storageManager: IStorageManager;
|
|
16
16
|
dnsServer?: any;
|
|
17
17
|
options?: any;
|
|
18
18
|
}
|
|
@@ -79,6 +79,8 @@ export interface IUnifiedEmailServerOptions {
|
|
|
79
79
|
domains: IEmailDomainConfig[];
|
|
80
80
|
banner?: string;
|
|
81
81
|
debug?: boolean;
|
|
82
|
+
/** Automatic for standalone use; caller-managed keeps DNS/key ownership with the embedding app. */
|
|
83
|
+
dkimKeyProvisioning?: 'automatic' | 'caller-managed';
|
|
82
84
|
useSocketHandler?: boolean;
|
|
83
85
|
/** Persist router changes back into storage when a storage manager is available. */
|
|
84
86
|
persistRoutes?: boolean;
|
|
@@ -91,9 +93,9 @@ export interface IUnifiedEmailServerOptions {
|
|
|
91
93
|
}>;
|
|
92
94
|
};
|
|
93
95
|
tls?: {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
96
|
+
certPem?: string;
|
|
97
|
+
keyPem?: string;
|
|
98
|
+
caPem?: string;
|
|
97
99
|
minVersion?: string;
|
|
98
100
|
ciphers?: string;
|
|
99
101
|
};
|
|
@@ -112,6 +114,8 @@ export interface IUnifiedEmailServerOptions {
|
|
|
112
114
|
recipientValidationTimeoutMs?: number;
|
|
113
115
|
/** Timeout for message acceptance callbacks. Defaults to 30000 ms. */
|
|
114
116
|
messageAcceptanceTimeoutMs?: number;
|
|
117
|
+
/** Maximum complete messages concurrently held across Rust and TypeScript. */
|
|
118
|
+
maxConcurrentMessages?: number;
|
|
115
119
|
/** Require trusted PROXY v1 from the backend proxy before SMTP greeting. */
|
|
116
120
|
proxyProtocol?: {
|
|
117
121
|
required?: boolean;
|
|
@@ -139,7 +143,7 @@ export interface IUnifiedEmailServerOptions {
|
|
|
139
143
|
defaultFrom?: string;
|
|
140
144
|
connectionProxyProvider?: (context: IOutboundConnectionProxyContext) => Promise<IOutboundConnectionProxy | null | undefined>;
|
|
141
145
|
};
|
|
142
|
-
queue
|
|
146
|
+
queue: IQueueOptions;
|
|
143
147
|
rateLimits?: IHierarchicalRateLimits;
|
|
144
148
|
}
|
|
145
149
|
/**
|
|
@@ -238,6 +242,7 @@ export declare class UnifiedEmailServer extends EventEmitter {
|
|
|
238
242
|
*/
|
|
239
243
|
start(): Promise<void>;
|
|
240
244
|
private startDeliveryPipeline;
|
|
245
|
+
private startDeliveryProcessing;
|
|
241
246
|
private startRustBridge;
|
|
242
247
|
private initializeDkimAndDns;
|
|
243
248
|
private startDnsValidation;
|
|
@@ -330,6 +335,7 @@ export declare class UnifiedEmailServer extends EventEmitter {
|
|
|
330
335
|
}): Promise<string>;
|
|
331
336
|
processBounceNotification(bounceEmail: Email): Promise<boolean>;
|
|
332
337
|
processSmtpFailure(recipient: string, smtpResponse: string, options?: {
|
|
338
|
+
operationId?: string;
|
|
333
339
|
sender?: string;
|
|
334
340
|
originalEmailId?: string;
|
|
335
341
|
statusCode?: string;
|