Brevo
Configure Brevo transactional messages, provider rendering and tracking.
Import brevoEmailLayer from @corven/email-sdk/brevo to provide the common Email service for this account.
Configure the account
import { Layer } from "effect";
import type { Redacted } from "effect";
import { brevoEmailLayer } from "@corven/email-sdk/brevo";
import { emailHttpLayer } from "./sending.js";
export const configuredBrevoAccount = (apiKey: Redacted.Redacted) =>
brevoEmailLayer({
apiKey,
contentAuthority: "AuthorizeProviderRendering",
submissionMode: "TransactionalOnly",
tracking: "AuthorizeProviderTracking",
}).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 the application to permit provider rendering and tracking. The SDK does not inspect remote account settings.
- Attachments use ProviderSelected MIME selection. Inline placement, common metadata and tags are unsupported.
- Use one reply identity. Display names and scheduling must pass Brevo-specific validation.
Idempotency
Idempotency keys are not supported. The SDK does not retry requests with unknown submission outcomes.
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.