Email Inventory in Makerkit
Complete list of all emails shipped by default and how to disable each.
Email Inventory
Complete inventory of all emails and configuration options.
Overview
Makerkit ships with 14 email templates covering authentication, account management, and organization workflows. All templates are located in packages/email-templates/src/emails/ and use React Email for rendering.
Emails are categorized into:
- Authentication Emails - Sign-in, verification, password reset
- Account Management Emails - Email changes, account deletion
- Organization Emails - Team invitations
- Admin Emails - User moderation (templates exist, not wired yet)
Authentication Emails
| Template | When Sent | |
|---|---|---|
| Magic Link | magic-link.email.tsx | User requests passwordless sign-in via magic link |
| Email Verification | email-verification.email.tsx | New user signs up (link-based verification) |
| Reset Password | reset-password.email.tsx | User requests password reset |
| OTP Sign-In | otp-sign-in.email.tsx | User signs in via OTP code |
| OTP Email Verification | otp-email-verification.email.tsx | New user signs up (OTP-based verification) |
| OTP Password Reset | otp-password-reset.email.tsx | User resets password via OTP code |
Account Management Emails
| Template | When Sent | |
|---|---|---|
| Change Email Confirmation | change-email-confirmation.email.tsx | User initiates email change (sent to current email) |
| Change Email Verification | change-email-verification.email.tsx | User changes email (sent to new email) |
| Delete Account OTP | delete-account-otp.email.tsx | User initiates account deletion |
Organization Emails
| Template | When Sent | |
|---|---|---|
| Invitation | invite.email.tsx | Member is invited to join an organization |
Admin Emails (Templates Only)
These templates exist but are not currently wired to send automatically:
| Template | Purpose | |
|---|---|---|
| User Banned | user-banned.email.tsx | Notify user their account was suspended |
| User Unbanned | user-unbanned.email.tsx | Notify user their account was restored |
| Account Deleted | account-delete.email.tsx | Confirm account deletion |
Disabling Emails
Email sending is configured in packages/better-auth/src/auth.ts. Below are the options for disabling specific email types.
Disable Email Verification on Signup
emailVerification: { sendOnSignUp: false, // Disable verification email on signup autoSignInAfterVerification: true, sendVerificationEmail: async (params) => { return sendVerificationEmail(params); },},Disable Email Change Feature
user: { changeEmail: { enabled: false, // Disables both confirmation and verification emails },},Disable Account Deletion Feature
user: { deleteUser: { enabled: false, // Disables delete account OTP email },},Disable Magic Link Authentication
Remove the magic link plugin from packages/better-auth/src/plugins/index.ts:
export const betterAuthPlugins = [ // magicLinkPlugin, // Comment out to disable magic link emails otpPlugin, organizationPlugin, // ...other plugins];Disable OTP Authentication
Remove the OTP plugin to disable all OTP-related emails (sign-in, email verification, password reset):
export const betterAuthPlugins = [ magicLinkPlugin, // otpPlugin, // Comment out to disable all OTP emails organizationPlugin, // ...other plugins];Disable Organization Invitations
To prevent invitation emails, modify the organization plugin in packages/better-auth/src/plugins/organizations.ts:
export const organizationPlugin = organization({ // ...other options sendInvitationEmail: async (data) => { // Comment out or conditionally skip // return sendInvitationEmail(data); },});Template Locations
All email templates are in packages/email-templates/src/emails/:
packages/email-templates/src/emails/├── magic-link.email.tsx├── email-verification.email.tsx├── reset-password.email.tsx├── otp.email.tsx # Generic OTP base template├── otp-sign-in.email.tsx├── otp-email-verification.email.tsx├── otp-password-reset.email.tsx├── change-email-confirmation.email.tsx├── change-email-verification.email.tsx├── delete-account-otp.email.tsx├── invite.email.tsx├── user-banned.email.tsx├── user-unbanned.email.tsx└── account-delete.email.tsxTo customize an email template, edit the corresponding file and the changes will apply to all sent emails.