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:

  1. Authentication Emails - Sign-in, verification, password reset
  2. Account Management Emails - Email changes, account deletion
  3. Organization Emails - Team invitations
  4. Admin Emails - User moderation (templates exist, not wired yet)

Authentication Emails

EmailTemplateWhen Sent
Magic Linkmagic-link.email.tsxUser requests passwordless sign-in via magic link
Email Verificationemail-verification.email.tsxNew user signs up (link-based verification)
Reset Passwordreset-password.email.tsxUser requests password reset
OTP Sign-Inotp-sign-in.email.tsxUser signs in via OTP code
OTP Email Verificationotp-email-verification.email.tsxNew user signs up (OTP-based verification)
OTP Password Resetotp-password-reset.email.tsxUser resets password via OTP code

Account Management Emails

EmailTemplateWhen Sent
Change Email Confirmationchange-email-confirmation.email.tsxUser initiates email change (sent to current email)
Change Email Verificationchange-email-verification.email.tsxUser changes email (sent to new email)
Delete Account OTPdelete-account-otp.email.tsxUser initiates account deletion

Organization Emails

EmailTemplateWhen Sent
Invitationinvite.email.tsxMember is invited to join an organization

Admin Emails (Templates Only)

These templates exist but are not currently wired to send automatically:

EmailTemplatePurpose
User Banneduser-banned.email.tsxNotify user their account was suspended
User Unbanneduser-unbanned.email.tsxNotify user their account was restored
Account Deletedaccount-delete.email.tsxConfirm 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
},
},

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.tsx

To customize an email template, edit the corresponding file and the changes will apply to all sent emails.