de48e35c74
- MailerModule.forRootAsync factory now async; injects SettingsService + ConfigService - Priority 1: getStartupSmtpConfig() reads first SmtpConfig DB row (single-tenant default) — T-07-11: decrypted password used only to build transport, never logged - Priority 2: env vars MAIL_HOST/MAIL_PORT/MAIL_USER/MAIL_PASS - Priority 3: legacy TESSERA_SMTP_* env vars (backward compat) - Priority 4: localhost:1025 hardcoded final fallback (Mailhog dev default) - imports SettingsModule; no circular import (MailModule → SettingsModule → CalendarModule) - mail.service.ts unchanged — still injects @nestjs-modules/mailer MailerService