This commit is contained in:
2025-05-21 02:17:18 +00:00
parent b1890f59ee
commit 162795802f
15 changed files with 2144 additions and 190 deletions

View File

@ -6,8 +6,7 @@ import { TemplateManager } from '../core/classes.templatemanager.js';
import { EmailValidator } from '../core/classes.emailvalidator.js';
import { BounceManager } from '../core/classes.bouncemanager.js';
import { logger } from '../../logger.js';
// Import types from platform interfaces
import type { default as platformInterfaces } from '../../types/platform.interfaces.js';
// Import types from router interfaces
import { UnifiedEmailServer } from '../routing/classes.unified.email.server.js';
import { DomainRouter } from '../routing/classes.domain.router.js';
import { Email } from '../core/classes.email.js';
@ -144,7 +143,6 @@ export interface IEmailServiceStats {
* Email service with MTA support
*/
export class EmailService {
public platformServiceRef: any; // Reference to platform service
// typedrouter
public typedrouter = new plugins.typedrequest.TypedRouter();
@ -166,9 +164,7 @@ export class EmailService {
// configuration
private config: IEmailConfig;
constructor(platformServiceRefArg: any, options: IEmailConfig = {}) {
this.platformServiceRef = platformServiceRefArg;
this.platformServiceRef.typedrouter.addTypedRouter(this.typedrouter);
constructor(options: IEmailConfig = {}) {
// Validate and apply defaults to configuration
const validationResult = ConfigValidator.validate(options, emailConfigSchema);