lightspeed/integration/mail

Mail integration patterns for ecosystem compatibility (M26).

Types

Delivery policy for one mail flow.

pub type DeliveryPolicy {
  DeliveryPolicy(
    max_retries: Int,
    idempotency_key_required: Bool,
    tenant_header_required: Bool,
  )
}

Constructors

  • DeliveryPolicy(
      max_retries: Int,
      idempotency_key_required: Bool,
      tenant_header_required: Bool,
    )

Mail backend profile.

pub type MailBackend {
  InMemoryOutbox
  SwooshBridge(module: String)
  MixedMail(primary: String, fallback: String)
}

Constructors

  • InMemoryOutbox
  • SwooshBridge(module: String)
  • MixedMail(primary: String, fallback: String)

One mail integration pattern.

pub type Pattern {
  Pattern(
    name: String,
    backend: MailBackend,
    policy: DeliveryPolicy,
  )
}

Constructors

Values

pub fn backend(pattern: Pattern) -> MailBackend

Pattern backend.

pub fn backend_label(backend: MailBackend) -> String

Stable backend label.

pub fn digest_pattern() -> Pattern

Mixed-runtime digest-mail pattern.

pub fn local_dev_pattern() -> Pattern

Local development mail pattern.

pub fn name(pattern: Pattern) -> String

Pattern name.

pub fn signature(pattern: Pattern) -> String

Stable pattern signature.

pub fn transactional_pattern() -> Pattern

Transactional-mail integration pattern.

pub fn valid(pattern: Pattern) -> Bool

Validate mail integration constraints.

Search Document