- Add @git.zone/tsrust with linux_amd64/linux_arm64 cross-compilation - Scaffold Rust workspace with 5 crates: mailer-core, mailer-smtp, mailer-security, mailer-napi, mailer-bin - Fix all TypeScript compilation errors for upgraded dependencies (smartfile v13, mailauth v4.13, smartproxy v23) - Replace smartfile.fs/memory with @push.rocks/smartfs throughout codebase - Fix .ts import extensions to .js for NodeNext module resolution - Update DKIMSignOptions usage to match mailauth v4.13 API - Add MTA error classes with permissive signatures for legacy SMTP client - Replace removed DcRouter/StorageManager/deliverability imports with local interfaces
31 lines
1.1 KiB
TypeScript
31 lines
1.1 KiB
TypeScript
/**
|
|
* SMTP Server Creation Factory
|
|
* Provides a simple way to create a complete SMTP server
|
|
*/
|
|
|
|
import { SmtpServer } from './smtp-server.js';
|
|
import { SessionManager } from './session-manager.js';
|
|
import { ConnectionManager } from './connection-manager.js';
|
|
import { CommandHandler } from './command-handler.js';
|
|
import { DataHandler } from './data-handler.js';
|
|
import { TlsHandler } from './tls-handler.js';
|
|
import { SecurityHandler } from './security-handler.js';
|
|
import type { ISmtpServerOptions } from './interfaces.js';
|
|
import { UnifiedEmailServer } from '../../routing/classes.unified.email.server.js';
|
|
|
|
/**
|
|
* Create a complete SMTP server with all components
|
|
* @param emailServer - Email server reference
|
|
* @param options - SMTP server options
|
|
* @returns Configured SMTP server instance
|
|
*/
|
|
export function createSmtpServer(emailServer: UnifiedEmailServer, options: ISmtpServerOptions): SmtpServer {
|
|
// First create the SMTP server instance
|
|
const smtpServer = new SmtpServer({
|
|
emailServer,
|
|
options
|
|
});
|
|
|
|
// Return the configured server
|
|
return smtpServer;
|
|
} |