> **Building with AI coding agents?** If you're using an AI coding agent, install the official Scalekit plugin. It gives your agent full awareness of the Scalekit API — reducing hallucinations and enabling faster, more accurate code generation.
>
> - **Claude Code**: `/plugin marketplace add scalekit-inc/claude-code-authstack` then `/plugin install <auth-type>@scalekit-auth-stack`
> - **GitHub Copilot CLI**: `copilot plugin marketplace add scalekit-inc/github-copilot-authstack` then `copilot plugin install <auth-type>@scalekit-auth-stack`
> - **Codex**: run the bash installer, restart, then open Plugin Directory and enable `<auth-type>`
> - **Skills CLI** (Windsurf, Cline, 40+ agents): `npx skills add scalekit-inc/skills --list` then `--skill <skill-name>`
>
> `<auth-type>` / `<skill-name>`: `agent-auth`, `full-stack-auth`, `mcp-auth`, `modular-sso`, `modular-scim` — [Full setup guide](https://docs.scalekit.com/dev-kit/build-with-ai/)

---

# Bring your own email provider

Email delivery is a critical part of your authentication flow. By default, Scalekit sends all authentication emails (sign-in verification, sign-up confirmation, password reset) through its own email service. However, for production applications, you may need more control over email branding, deliverability, and compliance requirements.

Here are common scenarios where you'll want to customize email delivery:

- **Brand consistency**: Send emails from your company's domain with your own sender name and email address to maintain brand trust
- **Deliverability optimization**: Use your established email reputation and delivery infrastructure to improve inbox placement
- **Compliance requirements**: Meet specific regulatory or organizational requirements for email handling and data sovereignty
- **Email analytics**: Track email metrics and performance through your existing email service provider
- **Custom domains**: Ensure emails come from your verified domain to avoid spam filters and build user trust
- **Enterprise requirements**: Corporate customers may require emails to come from verified business domains

Scalekit provides two approaches to handle email delivery, allowing you to choose the right balance between simplicity and control.

![Email delivery methods in Scalekit](@/assets/docs/common/email-providers/1-email-delivery-method.png)

## Use Scalekit's managed email service <Badge variant="note" text="Default"/>

   The simplest approach requires no configuration. Scalekit handles all email delivery using its own infrastructure.

   **When to use this approach:**
   - Quick setup for development and testing
   - You don't need custom branding
   - You want Scalekit to handle email deliverability

   **Default settings:**
   - **Sender Name**: Team workspace_name
   - **From Email Address**: hi@scalekit.com
   - **Infrastructure**: Fully managed by Scalekit

   No additional configuration is required. Your authentication emails will be sent automatically with these settings.
**Tip:** You can customize the sender name in your dashboard settings while still using Scalekit's email infrastructure.

## Configure your own email provider

   For production applications, you'll likely want to use your own email provider to maintain brand consistency and control deliverability.

   When to use this approach:
   - You need emails sent from your domain
   - You want complete control over email deliverability
   - You need to meet compliance requirements (e.g. GDPR, CCPA)
   - You want to integrate with existing email analytics

### Gather your SMTP credentials

    Before configuring, collect the following information from your email provider:

    | Field | Description |
    |-------|-------------|
    | **SMTP Server Host** | Your provider's SMTP hostname |
    | **SMTP Port** | Usually 587 (TLS) or 465 (SSL) |
    | **SMTP Username** | Your authentication username |
    | **SMTP Password** | Your authentication password |
    | **Sender Email** | The email address emails will be sent from |
    | **Sender Name** | The display name recipients will see |

       ### Configure SMTP settings in Scalekit

1. Navigate to email settings

       In your Scalekit dashboard, go to **Emails**.

2. Select custom email provider

       Choose **Use your own email provider** from the email delivery options

3. Configure sender information

       ```
       From Email Address: noreply@yourdomain.com
       Sender Name: Your Company Name
       ```

4. Enter SMTP configuration

       ```
       SMTP Server Host: smtp.your-provider.com
       SMTP Port: 587
       SMTP Username: your-username
       SMTP Password: your-password
       ```

5. Save and test configuration

       Click **Save** to apply your settings, then send a test email to verify the configuration
    ### Common provider configurations

   ```
         Host: smtp.sendgrid.net
         Port: 587
         Username: apikey
         Password: [Your SendGrid API Key]
         ```
      ```
         Host: email-smtp.us-east-1.amazonaws.com
         Port: 587
         Username: [Your SMTP Username from AWS]
         Password: [Your SMTP Password from AWS]
         ```
      ```
         Host: smtp.postmarkapp.com
         Port: 587
         Username: [Your Postmark Server Token]
         Password: [Your Postmark Server Token]
         ```
**Note:** All SMTP credentials are encrypted and stored securely. Email transmission uses TLS encryption for security.

## Test your email configuration

   After configuring your email provider, verify that everything works correctly:

1. Send a test email through your authentication flow
2. Check delivery to ensure emails reach the intended recipients
3. Verify sender information appears correctly in the recipient's inbox
4. Confirm formatting, branding, links and buttons work as expected

---

## More Scalekit documentation

| Resource | What it contains | When to use it |
|----------|-----------------|----------------|
| [/llms.txt](/llms.txt) | Structured index with routing hints per product area | Start here — find which documentation set covers your topic before loading full content |
| [/llms-full.txt](/llms-full.txt) | Complete documentation for all Scalekit products in one file | Use when you need exhaustive context across multiple products or when the topic spans several areas |
| [sitemap-0.xml](https://docs.scalekit.com/sitemap-0.xml) | Full URL list of every documentation page | Use to discover specific page URLs you can fetch for targeted, page-level answers |
