ObjectStackObjectStack

Email Config

Email Config protocol schemas

Email Service Configuration Protocol

Operator-facing configuration that selects the outbound email

transport for the EmailServicePlugin. Provider is a provider tag

  • provider-specific settings; concrete IEmailTransport

implementations live in @objectstack/plugin-email/transports/*.

Resolution order in serve.ts:

  1. config.email.* from objectstack.config.ts

  2. OS_EMAIL_* environment variables (override per setting)

  3. Default → provider='log' (LogTransport, no real send)

Source: packages/spec/src/system/email-config.zod.ts

TypeScript Usage

import { EmailAddressConfig, EmailProvider, EmailServiceConfig } from '@objectstack/spec/system';
import type { EmailAddressConfig, EmailProvider, EmailServiceConfig } from '@objectstack/spec/system';

// Validate data
const result = EmailAddressConfig.parse(data);

EmailAddressConfig

Properties

PropertyTypeRequiredDescription
namestringoptionalDisplay name (e.g. "Acme CRM")
addressstringRFC-5322 address

EmailProvider

Allowed Values

  • log
  • resend
  • postmark

EmailServiceConfig

Properties

PropertyTypeRequiredDescription
providerEnum<'log' | 'resend' | 'postmark'>
apiKeystringoptionalProvider API key (or OS_EMAIL_API_KEY env)
defaultFromObjectoptional
retriesintegeroptionalRetry attempts on transport throw
persistbooleanoptionalPersist to sys_email (default true)
optionsRecord<string, any>optional

On this page