Sequenzy
Configure HTML sends with provider-managed profiles, rendering and retention.
Import sequenzyEmailLayer from @corven/email-sdk/sequenzy to provide the common Email service for this account.
Configure the account
import { Layer } from "effect";
import type { Redacted } from "effect";
import { sequenzyEmailLayer } from "@corven/email-sdk/sequenzy";
import { emailHttpLayer } from "./sending.js";
export const configuredSequenzyAccount = (apiKey: Redacted.Redacted) =>
sequenzyEmailLayer({
apiKey,
automaticUtm: "AccountDisabled",
contactWrites: "AuthorizeProviderManagedProfiles",
contentAuthority: "AuthorizeProviderRenderingAndRetention",
replyTracking: "AccountDisabled",
senderIdentity: "ExistingVerifiedProfile",
submissionMode: "TransactionalOnly",
}).pipe(Layer.provide(emailHttpLayer));
The example reuses the explicit HTTP Layer. Acquire credentials in trusted host code, then provide this account Layer to your sending program.
Message behavior
- Configure an existing verified sender profile and explicitly authorize provider-managed profiles, rendering and retention. Automatic UTM and reply tracking must be disabled remotely.
- The sender needs a display name, recipients must be plain and distinct across groups, and exactly one reply-to identity is required.
- Only HTML is representable: explicit plain text, custom headers, common metadata, tags and scheduling are rejected.
- Both attachment MIME modes are supported, without inline placement.
Idempotency
Native idempotency applies to the configured account for 14 days. Keys can contain up to 255 characters. The SDK stops retries after an idempotency conflict.
Read field support before switching accounts, and receipts and retries before adding recovery behavior. Configuration and local validation do not authenticate the account or prove delivery.