Email, notifications and magic links

Send templated email through your mail server, notify users in real time, and create links that expire or trigger actions.

The messages your app sends

Templated email

Design templates in a drag-and-drop editor, keep one per language, and send them from your app by purpose. Mail goes out through your SMTP server, Office 365, Amazon SES or Zoho.

Mailbox history

Connect an IMAP mailbox to keep a history of inbound and outbound mail.

Real-time notifications

Push messages over SignalR to everyone, to chosen users, or to users with a role or in an organization, and keep them in an inbox behind a bell icon.

Magic links

Create short redirect links, or action links that send a GET or POST with your headers and payload. Set how many times a link works and when it expires.

Payments and subscriptions

Stripe checkout, saved cards and refunds, plus subscription plans with monthly billing, a prorated first period, discounts, tax and usage charges. These are newer than the rest of Utilities and not in the docs yet, so talk to us before you build on them.

Send from your app in a few lines

Set up mail servers and templates in the console or the CLI, then send email and notifications from your app with the SDK.

  1. Configure a mail server

    Add SMTP details or another provider, mark one as the default, and send a test mail.

  2. Create templates

    Build a template for each purpose, such as welcome or password reset, in each language you support.

  3. Send from your code

    Call mail.send() with the purpose and language, and notifier.notify() with the users or roles to reach.

# Mail servers and templates
blocks mail config list --json
blocks mail template list --search welcome --json

# Send a test mail, dry run first
blocks mail sendtoany --to jane@example.com --is-test-mail --dry-run --json

Providers

  • SMTP
  • Office 365
  • Amazon SES
  • Zoho
  • IMAP
  • SignalR
  • Stripe

Questions about Utilities

Can I use my own mail server?

Yes. Add SMTP settings, or connect Office 365, Amazon SES or Zoho. You can keep several configurations and mark one as the default.

How do notifications reach the browser?

Over SignalR. You can send to everyone, to specific users, or to users with a role or in an organization, and choose whether the message is saved to the user's inbox.

What can a magic link do?

A redirect link opens a URL. An action link calls an endpoint with the method, headers and payload you set. Both can expire and be limited to a number of uses.

Can I take payments?

Stripe checkout, refunds and subscriptions appear in the July to September 2026 release notes but aren't in the docs yet. Talk to us before you build on them.

Start with a free project

Sign up at os.seliseblocks.com and create a project, or paste one prompt into Claude Code, Codex or Cursor and let your agent set it up through the Blocks CLI.