Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d43fc15d8e | |||
| 248bfcfe78 |
@@ -1,5 +1,13 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 2026-02-10 - 2.4.0 - feat(docs)
|
||||||
|
document Rust-side in-process security pipeline and update README to reflect SMTP server behavior and crate/test counts
|
||||||
|
|
||||||
|
- Clarifies that the Rust SMTP server accepts the full SMTP protocol and runs the security pipeline in-process (DKIM/SPF/DMARC verification, content scanning, IP reputation/DNSBL) to avoid IPC round-trips
|
||||||
|
- Notes that Rust now emits an emailReceived IPC event with pre-computed security results attached for TypeScript to use in routing/delivery decisions
|
||||||
|
- Updates mailer-smtp crate description to include the in-process security pipeline and increments its test count from 72 to 77
|
||||||
|
- Adjusts TypeScript directory comments to reflect removal/relocation of the legacy TS SMTP server and the smtpclient path
|
||||||
|
|
||||||
## 2026-02-10 - 2.3.2 - fix(tests)
|
## 2026-02-10 - 2.3.2 - fix(tests)
|
||||||
remove large SMTP client test suites and update SmartFile API usage
|
remove large SMTP client test suites and update SmartFile API usage
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@push.rocks/smartmta",
|
"name": "@push.rocks/smartmta",
|
||||||
"version": "2.3.2",
|
"version": "2.4.0",
|
||||||
"description": "A high-performance, enterprise-grade Mail Transfer Agent (MTA) built from scratch in TypeScript with Rust acceleration.",
|
"description": "A high-performance, enterprise-grade Mail Transfer Agent (MTA) built from scratch in TypeScript with Rust acceleration.",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"mta",
|
"mta",
|
||||||
|
|||||||
13
readme.md
13
readme.md
@@ -70,10 +70,10 @@ After installation, run `pnpm build` to compile the Rust binary (`mailer-bin`).
|
|||||||
|
|
||||||
**Data flow for inbound mail:**
|
**Data flow for inbound mail:**
|
||||||
|
|
||||||
1. Rust SMTP server accepts the connection and handles the SMTP protocol
|
1. Rust SMTP server accepts the connection and handles the full SMTP protocol
|
||||||
2. On `DATA` completion, Rust emits an `emailReceived` event via IPC
|
2. On `DATA` completion, Rust runs the security pipeline **in-process** (DKIM/SPF/DMARC verification, content scanning, IP reputation check) — zero IPC round-trips
|
||||||
3. TypeScript processes the email (routing, scanning, delivery decisions)
|
3. Rust emits an `emailReceived` event via IPC with pre-computed security results attached
|
||||||
4. TypeScript sends the processing result back to Rust via IPC
|
4. TypeScript processes the email (routing decisions using the pre-computed results, delivery)
|
||||||
5. Rust sends the final SMTP response to the client
|
5. Rust sends the final SMTP response to the client
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
@@ -569,7 +569,7 @@ Performance-critical operations are implemented in Rust and communicate with the
|
|||||||
|---|---|---|
|
|---|---|---|
|
||||||
| `mailer-core` | ✅ Complete (26 tests) | Email types, validation, MIME building, bounce detection |
|
| `mailer-core` | ✅ Complete (26 tests) | Email types, validation, MIME building, bounce detection |
|
||||||
| `mailer-security` | ✅ Complete (22 tests) | DKIM sign/verify, SPF, DMARC, IP reputation/DNSBL, content scanning |
|
| `mailer-security` | ✅ Complete (22 tests) | DKIM sign/verify, SPF, DMARC, IP reputation/DNSBL, content scanning |
|
||||||
| `mailer-smtp` | ✅ Complete (72 tests) | Full SMTP protocol engine — TCP/TLS server, STARTTLS, AUTH, pipelining, rate limiting |
|
| `mailer-smtp` | ✅ Complete (77 tests) | Full SMTP protocol engine — TCP/TLS server, STARTTLS, AUTH, pipelining, in-process security pipeline, rate limiting |
|
||||||
| `mailer-bin` | ✅ Complete | CLI + smartrust IPC bridge — security, content scanning, SMTP server lifecycle |
|
| `mailer-bin` | ✅ Complete | CLI + smartrust IPC bridge — security, content scanning, SMTP server lifecycle |
|
||||||
| `mailer-napi` | 🔜 Planned | Native Node.js addon (N-API) |
|
| `mailer-napi` | 🔜 Planned | Native Node.js addon (N-API) |
|
||||||
|
|
||||||
@@ -598,8 +598,7 @@ smartmta/
|
|||||||
│ ├── mail/
|
│ ├── mail/
|
||||||
│ │ ├── core/ # Email, EmailValidator, BounceManager, TemplateManager
|
│ │ ├── core/ # Email, EmailValidator, BounceManager, TemplateManager
|
||||||
│ │ ├── delivery/ # DeliverySystem, Queue, RateLimiter
|
│ │ ├── delivery/ # DeliverySystem, Queue, RateLimiter
|
||||||
│ │ │ ├── smtpclient/ # SMTP client with connection pooling
|
│ │ │ └── smtpclient/ # SMTP client with connection pooling
|
||||||
│ │ │ └── smtpserver/ # Legacy TS SMTP server (socket-handler fallback)
|
|
||||||
│ │ ├── routing/ # UnifiedEmailServer, EmailRouter, DomainRegistry, DnsManager
|
│ │ ├── routing/ # UnifiedEmailServer, EmailRouter, DomainRegistry, DnsManager
|
||||||
│ │ └── security/ # DKIMCreator, DKIMVerifier, SpfVerifier, DmarcVerifier
|
│ │ └── security/ # DKIMCreator, DKIMVerifier, SpfVerifier, DmarcVerifier
|
||||||
│ └── security/ # ContentScanner, IPReputationChecker, RustSecurityBridge
|
│ └── security/ # ContentScanner, IPReputationChecker, RustSecurityBridge
|
||||||
|
|||||||
@@ -3,6 +3,6 @@
|
|||||||
*/
|
*/
|
||||||
export const commitinfo = {
|
export const commitinfo = {
|
||||||
name: '@push.rocks/smartmta',
|
name: '@push.rocks/smartmta',
|
||||||
version: '2.3.2',
|
version: '2.4.0',
|
||||||
description: 'A high-performance, enterprise-grade Mail Transfer Agent (MTA) built from scratch in TypeScript with Rust acceleration.'
|
description: 'A high-performance, enterprise-grade Mail Transfer Agent (MTA) built from scratch in TypeScript with Rust acceleration.'
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user