> ## Documentation Index
> Fetch the complete documentation index at: https://docs.transmit.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Domain Verification

> Verify your domain to send emails with Transmit

## Why Verify Your Domain?

Domain verification is required to:

* ✅ Send emails from your domain
* ✅ Improve email deliverability
* ✅ Prevent emails from going to spam
* ✅ Receive **free trial credits** upon verification

<Warning>
  You must verify your domain before sending emails in production. Unverified domains can only send test emails.
</Warning>

## Step 1: Add Your Domain

<Steps>
  <Step title="Navigate to Domains">
    Go to **Dashboard** → **Settings** → **Domains**
  </Step>

  <Step title="Add Domain">
    Click **Add Domain** and enter your sending domain (e.g., `yourdomain.com`)
  </Step>

  <Step title="Copy DNS Records">
    Copy the DNS records provided by Transmit
  </Step>
</Steps>

## Step 2: Add DNS Records

You'll need to add three types of DNS records to your domain:

### SPF Record

The SPF (Sender Policy Framework) record authorizes Transmit to send emails on behalf of your domain.

```
Type: TXT
Name: @
Value: v=spf1 include:mail.transmit.dev ~all
TTL: 3600
```

<Accordion title="What if I already have an SPF record?">
  If you already have an SPF record, you need to **add** `include:mail.transmit.dev` to your existing record rather than creating a new one.

  Existing: `v=spf1 include:_spf.google.com ~all`

  Updated: `v=spf1 include:_spf.google.com include:mail.transmit.dev ~all`
</Accordion>

### DKIM Records

DKIM (DomainKeys Identified Mail) adds a digital signature to your emails.

You'll receive 3 DKIM records. Add each one:

```
Type: TXT
Name: transmit._domainkey
Value: [provided by Transmit]
TTL: 3600

Type: TXT
Name: transmit2._domainkey
Value: [provided by Transmit]
TTL: 3600

Type: TXT
Name: transmit3._domainkey
Value: [provided by Transmit]
TTL: 3600
```

### DMARC Record

DMARC (Domain-based Message Authentication) tells email providers how to handle unauthenticated emails.

```
Type: TXT
Name: _dmarc
Value: v=DMARC1; p=none; rua=mailto:dmarc-reports@transmit.dev
TTL: 3600
```

<Info>
  If you already have a DMARC record, you don't need to change it. Transmit will work with your existing policy.
</Info>

## Step 3: DNS Provider Instructions

<AccordionGroup>
  <Accordion title="Cloudflare" icon="cloudflare">
    1. Log in to your Cloudflare account
    2. Select your domain
    3. Go to **DNS** → **Records**
    4. Click **Add record**
    5. Add each DNS record as shown above
    6. Click **Save**

    **Note:** Cloudflare automatically sets TTL. Use "Auto" for TTL.
  </Accordion>

  <Accordion title="Namecheap" icon="server">
    1. Log in to Namecheap
    2. Go to **Domain List** → click **Manage** next to your domain
    3. Click **Advanced DNS**
    4. Click **Add New Record**
    5. Add each DNS record as shown above
    6. Click the checkmark to save
  </Accordion>

  <Accordion title="GoDaddy" icon="server">
    1. Log in to GoDaddy
    2. Go to **My Products** → **DNS**
    3. Click **Add** under DNS Records
    4. Select **TXT** as the type
    5. Add each DNS record as shown above
    6. Click **Save**
  </Accordion>

  <Accordion title="Route 53 (AWS)" icon="aws">
    1. Log in to AWS Console
    2. Go to **Route 53** → **Hosted zones**
    3. Select your domain
    4. Click **Create record**
    5. Add each DNS record as shown above
    6. Click **Create records**
  </Accordion>

  <Accordion title="Other DNS Providers" icon="globe">
    The process is similar for most DNS providers:

    1. Log in to your DNS provider
    2. Find the DNS management or DNS records section
    3. Add TXT records as shown above
    4. Save your changes

    Most DNS changes propagate within 1-24 hours.
  </Accordion>
</AccordionGroup>

## Step 4: Verify DNS Records

<Steps>
  <Step title="Wait for DNS Propagation">
    DNS changes can take 1-48 hours to propagate globally
  </Step>

  <Step title="Check Verification Status">
    Return to the Transmit dashboard to check verification status
  </Step>

  <Step title="Click Verify">
    Click the **Verify** button next to your domain
  </Step>

  <Step title="Receive Trial Credits">
    Once verified, you'll automatically receive free trial credits!
  </Step>
</Steps>

## Checking DNS Propagation

You can manually check if your DNS records are live:

```bash theme={null}
# Check SPF record
dig TXT yourdomain.com

# Check DKIM record
dig TXT transmit._domainkey.yourdomain.com

# Check DMARC record
dig TXT _dmarc.yourdomain.com
```

<Info>
  Use [dnschecker.org](https://dnschecker.org) to check DNS propagation globally.
</Info>

## Common Issues

<AccordionGroup>
  <Accordion title="Verification Taking Too Long" icon="clock">
    **DNS propagation** can take up to 48 hours. If it's been longer:

    * Double-check your DNS records match exactly
    * Ensure there are no typos in the record values
    * Try verifying again from the dashboard
  </Accordion>

  <Accordion title="SPF Record Too Long" icon="warning">
    If you have many `include:` statements in your SPF record, you may hit the DNS lookup limit (10 lookups).

    **Solution:** Use [SPF flattening](https://www.spfrecord.io) or contact support for help.
  </Accordion>

  <Accordion title="DKIM Records Not Found" icon="x">
    Make sure you added **all three** DKIM records:

    * `transmit._domainkey`
    * `transmit2._domainkey`
    * `transmit3._domainkey`

    Each record must be added separately.
  </Accordion>

  <Accordion title="Multiple SPF Records Error" icon="triangle-exclamation">
    You can only have **one SPF record** per domain. If you have multiple:

    1. Combine them into a single record
    2. Delete the duplicate records
    3. Wait for DNS propagation
  </Accordion>
</AccordionGroup>

## Subdomains

You can verify subdomains separately (e.g., `mail.yourdomain.com`):

1. Add the subdomain in the dashboard
2. Add DNS records to the **subdomain**, not the root domain
3. Use the same verification process

<Tip>
  Using a subdomain like `mail.yourdomain.com` can help organize your email sending and improve deliverability for transactional emails.
</Tip>

## After Verification

Once your domain is verified:

✅ You can send emails from any address at your domain
✅ Your emails will have better deliverability
✅ You'll receive trial credits to start sending
✅ Your MCP server will include your verified domains

## Need Help?

<CardGroup cols={2}>
  <Card title="Contact Support" icon="life-ring" href="mailto:support@transmit.dev">
    Email us for help with domain verification
  </Card>

  <Card title="Check Status" icon="chart-line" href="https://transmit.dev/dashboard/settings/domains">
    View your domain verification status
  </Card>
</CardGroup>
