FEGMailEmail APIStaff dashboard

FEGMail·ferguson4me.com

Transactional email, sent the way our brand looks.

This is the internal API Ferguson apps use to send enrolment, notification, and account mail. Staff issue keys from a private dashboard. Nothing secret lives on this page.

  • Branded by default

    Messages go out as Ferguson Education, from @ferguson4me.com, with the same mark students already see on the site.

  • Keys stay off the homepage

    API keys are created and revoked by staff after sign-in. This public view does not generate, list, or reveal credentials.

  • For our own apps

    Consuming projects call the API from server code. Browser bundles never receive a key.

How teams use it

A Ferguson app sends a POST to the mail endpoint with a Bearer token issued for that project. The body is a subject plus HTML or text — typically a React Email template such as enrolment received or a password reset.

Each consuming app keeps two server-only environment variables: the service URL and its own API key. Never expose a public notify route, allowlist destinations, and prefer React Email over raw HTML from clients. SMTP stays here; other projects never need a mailbox password.

.env.local
# server-only — never shipped to the browser
EMAIL_UTIL_URL=https://email-util.vercel.app
EMAIL_UTIL_API_KEY=<staff-issued key>