Skip to content
Corven Email SDK
Esc
↑↓navigate↵open⌘Jpreview
On this page

Trial ending

Show the trial deadline and a trusted link to plan settings.

This application recipe uses the shared transactional layout. It returns a rendering Effect containing HTML and plain text; it does not submit email or implement the business operation.

import { renderReactEmail } from "@corven/email-sdk/react";
import { transactionalEmailLayout } from "./react-layout.js";

export const trialEndingEmail = (input: { endsAt: string; reviewUrl: string }) =>
  renderReactEmail(
    transactionalEmailLayout({
      heading: "Your trial is ending",
      preview: "Review your trial before it ends.",
      paragraphs: [
        `Your trial ends ${input.endsAt}.`,
        "Review your plan and billing settings before that date.",
      ],
      action: { href: input.reviewUrl, label: "Review plan" },
    }),
  );

Supply authorized data

Supply a human-readable date with an explicit timezone and describe the actual billing behavior. Do not imply a charge, cancellation or renewal unless the billing system has established it.

Keep URLs and template inputs under host control. React text escaping is not URL validation or a consent check. Treat the rendered body as private message content.

Send the rendered body

Yield the rendering Effect in your application, then supply its body to Email.send with explicit sender and recipients. Apply ordinary provider validation, submission policy and any required approval. The React integration shows this composition.

These recipes are application examples, not additional template exports from the SDK. Rendering and compilation do not establish delivery or compatibility with every email client.