@push.rocks/smartmta 7.0.0 → 8.0.1
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 +36 -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 +11 -0
- package/dist_ts/mail/core/classes.bouncemanager.js +120 -38
- package/dist_ts/mail/core/classes.email.js +14 -12
- 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/delivery/classes.delivery.queue.d.ts +77 -2
- package/dist_ts/mail/delivery/classes.delivery.queue.js +551 -46
- 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/index.d.ts +1 -0
- package/dist_ts/mail/delivery/index.js +2 -1
- package/dist_ts/mail/delivery/interfaces.d.ts +21 -0
- package/dist_ts/mail/delivery/interfaces.js +1 -1
- package/dist_ts/mail/index.d.ts +1 -0
- package/dist_ts/mail/index.js +1 -1
- package/dist_ts/mail/routing/classes.dkim.manager.d.ts +8 -4
- package/dist_ts/mail/routing/classes.dkim.manager.js +46 -29
- package/dist_ts/mail/routing/classes.dns.manager.d.ts +5 -3
- 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 +3 -0
- package/dist_ts/mail/routing/classes.email.router.js +15 -9
- package/dist_ts/mail/routing/classes.unified.email.server.d.ts +4 -0
- package/dist_ts/mail/routing/classes.unified.email.server.js +61 -40
- package/dist_ts/mail/security/classes.dkimcreator.d.ts +7 -0
- package/dist_ts/mail/security/classes.dkimcreator.js +33 -8
- package/dist_ts/mail/security/classes.spfverifier.js +5 -3
- package/dist_ts/security/classes.contentscanner.js +14 -11
- package/dist_ts/security/classes.ipreputationchecker.d.ts +3 -0
- package/dist_ts/security/classes.ipreputationchecker.js +20 -11
- package/dist_ts/security/classes.rustsecuritybridge.d.ts +49 -1
- 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 -8
- package/readme.hints.md +4 -3
- package/readme.md +41 -13
- 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 +157 -45
- package/ts/mail/core/classes.email.ts +19 -13
- package/ts/mail/core/classes.emailvalidator.ts +9 -7
- package/ts/mail/delivery/classes.delivery.queue.ts +740 -58
- 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/index.ts +1 -0
- package/ts/mail/delivery/interfaces.ts +27 -1
- package/ts/mail/index.ts +1 -0
- package/ts/mail/routing/classes.dkim.manager.ts +62 -37
- package/ts/mail/routing/classes.dns.manager.ts +36 -13
- package/ts/mail/routing/classes.email.action.executor.ts +64 -17
- package/ts/mail/routing/classes.email.router.ts +15 -8
- package/ts/mail/routing/classes.unified.email.server.ts +90 -44
- package/ts/mail/security/classes.dkimcreator.ts +50 -7
- package/ts/mail/security/classes.spfverifier.ts +4 -2
- package/ts/security/classes.contentscanner.ts +14 -11
- package/ts/security/classes.ipreputationchecker.ts +21 -10
- package/ts/security/classes.rustsecuritybridge.ts +269 -3
- package/ts/security/classes.securitylogger.ts +6 -4
- package/ts/security/index.ts +6 -1
|
@@ -68,9 +68,6 @@ export interface IDeliveryStats {
|
|
|
68
68
|
throttled: number;
|
|
69
69
|
};
|
|
70
70
|
}
|
|
71
|
-
/**
|
|
72
|
-
* Handles delivery for all email processing modes
|
|
73
|
-
*/
|
|
74
71
|
export declare class MultiModeDeliverySystem extends EventEmitter {
|
|
75
72
|
private queue;
|
|
76
73
|
private options;
|
|
@@ -83,6 +80,8 @@ export declare class MultiModeDeliverySystem extends EventEmitter {
|
|
|
83
80
|
private rateLimitLastCheck;
|
|
84
81
|
private rateLimitCounter;
|
|
85
82
|
private emailServer?;
|
|
83
|
+
private bounceDrainTimer?;
|
|
84
|
+
private bounceDrainPromise?;
|
|
86
85
|
/**
|
|
87
86
|
* Create a new multi-mode delivery system
|
|
88
87
|
* @param queue Unified delivery queue
|
|
@@ -90,6 +89,16 @@ export declare class MultiModeDeliverySystem extends EventEmitter {
|
|
|
90
89
|
* @param emailServer Optional reference to unified email server for outbound delivery
|
|
91
90
|
*/
|
|
92
91
|
constructor(queue: UnifiedDeliveryQueue, options: IMultiModeDeliveryOptions, emailServer?: UnifiedEmailServer);
|
|
92
|
+
private createEmailForRecipients;
|
|
93
|
+
private contextualizeSmtpError;
|
|
94
|
+
private persistSmtpAttempt;
|
|
95
|
+
private splitRecipientResults;
|
|
96
|
+
private checkpointPermanentRecipientFailures;
|
|
97
|
+
/**
|
|
98
|
+
* Drain durable bounce work with one in-process flight. Custom handlers
|
|
99
|
+
* receive operationId and must use it for their own idempotency.
|
|
100
|
+
*/
|
|
101
|
+
drainBounceOutbox(): Promise<void>;
|
|
93
102
|
/**
|
|
94
103
|
* Start the delivery system
|
|
95
104
|
*/
|
|
@@ -122,6 +131,7 @@ export declare class MultiModeDeliverySystem extends EventEmitter {
|
|
|
122
131
|
* Group recipient addresses by their domain part.
|
|
123
132
|
*/
|
|
124
133
|
private groupRecipientsByDomain;
|
|
134
|
+
private aggregateSmtpFailures;
|
|
125
135
|
/**
|
|
126
136
|
* Default handler for MTA mode delivery
|
|
127
137
|
* @param item Queue item
|
|
@@ -136,10 +146,6 @@ export declare class MultiModeDeliverySystem extends EventEmitter {
|
|
|
136
146
|
* Get file extension from filename
|
|
137
147
|
*/
|
|
138
148
|
private getFileExtension;
|
|
139
|
-
/**
|
|
140
|
-
* Apply DKIM signing to an email
|
|
141
|
-
*/
|
|
142
|
-
private applyDkimSigning;
|
|
143
149
|
/**
|
|
144
150
|
* Update delivery time statistics
|
|
145
151
|
*/
|