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

# Verify Your Sending Domain

> Add your sending domain and DNS records so Brew can send emails on your behalf. About five minutes.

<video autoPlay loop muted playsInline style={{aspectRatio:"1280/794"}} src="https://0edx89zhjrasqnjf.public.blob.vercel-storage.com/docs/domain_setup.webm" />

To send emails through Brew, verify a sending domain you own. This is a one-time setup that takes about five minutes. Once verified, every email comes from your own domain.

<Tip>
  Prefer a video walkthrough? Watch the [YouTube tutorial](https://www.youtube.com/watch?v=c2L_Q9jnt40).
</Tip>

## How to Verify

<Steps>
  <Step title="Add your sending domain">
    Go to **Settings → Domains** and click **Add sending domain**.

    Use a **subdomain**, not your root domain. For example, `updates.acme.com` instead of `acme.com`.

    <Warning>
      If you send from your root domain and run into deliverability problems, every other sending stream on that domain can be affected. Isolating email on a subdomain keeps issues contained.
    </Warning>

    Good subdomain options:

    * `mail.yourdomain.com`
    * `updates.yourdomain.com`
    * `news.yourdomain.com`

    Click **Add Domain** to start verification.
  </Step>

  <Step title="Set default sender details">
    Configure how your emails appear in recipients' inboxes:

    * **Sender name.** Appears next to your email address. Keep it personal (a real name works well).
    * **From email.** The address in the "From" field.
    * **Reply-to email.** Where replies land. Use a monitored address, never `no-reply`. Replies signal value to inbox providers and improve your deliverability.

    You can override any of these per email when you send.
  </Step>

  <Step title="Add DNS records">
    Authorize Brew to send on your behalf by adding DNS records to your domain.

    <Tabs>
      <Tab title="Connect automatically (recommended)">
        The fastest way to add records. When you add a sending domain, the DNS records appear alongside a **Connect automatically** button.

        1. Click **Connect automatically**.
        2. A window opens to your DNS provider (Cloudflare, Vercel, GoDaddy, Namecheap, and most others are supported). Sign in and approve.
        3. Brew writes the DKIM, SPF, and DMARC records into your zone. Nothing else in your zone changes.
        4. The records verify on their own and turn green.

        Automatic connections are powered by [Entri](https://www.entri.com/), our DNS-connection partner. If your provider isn't supported, use the zone file or manual path instead.
      </Tab>

      <Tab title="Zone file">
        Download the zone file from the Brew dashboard and upload it to your DNS provider. This adds every record in a few clicks.
      </Tab>

      <Tab title="Manual setup">
        Copy each record from Brew and paste it into your DNS provider one at a time.

        For each record:

        1. Find the **DNS section** for your domain
        2. Add a new record and set the **type** (TXT, MX, or CNAME)
        3. Copy the **Name** and **Value** from Brew

        <Tip>
          Always use the **Copy** button in Brew. Long values may be truncated visually, dragging to select can miss characters.
        </Tip>

        <Note>
          Some providers label the value field as "Content" instead of "Value." Leave TTL at the default.
        </Note>
      </Tab>
    </Tabs>

    ### Records you'll add

    <AccordionGroup>
      <Accordion title="DKIM (required)" icon="signature">
        A cryptographic key that proves your email wasn't altered in transit. Added as a **TXT** record.
      </Accordion>

      <Accordion title="SPF (required)" icon="shield-check">
        Tells receiving inboxes which servers are allowed to send for you. Added as both an **MX** and a **TXT** record.
      </Accordion>

      <Accordion title="DMARC (optional but recommended)" icon="lock">
        Check whether your domain already has a DMARC record, some platforms add one automatically. If one exists in any form, you're good. If not, copy the values Brew provides.
      </Accordion>
    </AccordionGroup>

    <AccordionGroup>
      <Accordion title="Provider-specific instructions" icon="server">
        **GoDaddy.** [Sign in](https://sso.godaddy.com/?realm=idp\&app=dashboard.api), open your domain's DNS settings, click **Add**, and create each record. For MX records, set priority to 10. If you see an "invalid hostname" error, try adding a period (`.`) at the end of the value. [GoDaddy help](https://www.godaddy.com/help/manage-dns-records-680)

        **Cloudflare.** [Sign in](https://dash.cloudflare.com/login), select your domain, go to **DNS**, click **Add record**. Set proxy status to **DNS Only** (gray cloud) for every record, proxying breaks email authentication. [Cloudflare help](https://developers.cloudflare.com/dns/manage-dns-records/how-to-create-dns-records/#create-dns-records)

        **Google Domains.** [Sign in](https://domains.google.com/), select your domain, go to DNS, and use the Custom resource records area. Google may add quotes to TXT records. That's normal. [Google help](https://support.google.com/a/answer/48090?hl=en)

        **Namecheap.** [Sign in](https://www.namecheap.com/myaccount/login/), go to Advanced DNS. If you use Gmail/Google Workspace, switch Mail Settings to **Custom MX** before adding Brew's MX records, then [re-add Gmail's MX record](https://support.google.com/a/answer/16004259). [Namecheap help](https://www.namecheap.com/support/knowledgebase/article.aspx/317/2237/how-do-i-add-txtspfdkimdmarc-records-for-my-domain/)

        **AWS Route 53.** [Sign in](https://console.aws.amazon.com/route53/), select your hosted zone, click **Create record**. For MX records, put priority and value together. Use only the subdomain part for record names. [AWS help](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-creating.html)

        **Squarespace.** [Sign in](https://account.squarespace.com/login), go to Domains, pick your domain, scroll to Custom Records. Remove trailing periods if you see errors. [Squarespace help](https://support.squarespace.com/hc/en-us/articles/31120985010957-DNS-records-for-email)

        **Vercel.** [Sign in](https://vercel.com/login), open your domain's DNS settings. Use only the subdomain part for record names. [Vercel help](https://vercel.com/docs/concepts/projects/custom-domains#adding-dns-records)

        **Wix.** Wix DNS doesn't support MX records for subdomains if nameservers point to Wix. Use the "Pointing" method or manage DNS externally (e.g. Cloudflare). [Wix help](https://support.wix.com/en/article/managing-dns-records-in-your-wix-account)

        **Dreamhost.** Currently unsupported for custom subdomain MX records. Use an external DNS provider or contact Dreamhost support. [Dreamhost help](https://help.dreamhost.com/hc/en-us/articles/215413857-DreamHost-DNS-overview)
      </Accordion>

      <Accordion title="Don't have access to your domain registrar?" icon="user-group">
        * Add a teammate with DNS access to your Brew account
        * Share this guide with your IT team
      </Accordion>

      <Accordion title="MX record conflicts" icon="triangle-exclamation">
        If you already have an MX record for the same hostname (e.g. `mail.yourdomain.com`), remove it before adding Brew's.

        The MX record is for your **sending subdomain**, not your root domain. It won't affect existing email on your root domain.

        If you need to keep the existing MX record, pick a different subdomain (e.g. `newsletter.yourdomain.com`), update Settings → Domains, and re-run verification.
      </Accordion>
    </AccordionGroup>

    <Tip>
      Not sure who hosts your DNS? Look up your nameservers at [whois.domaintools.com](https://whois.domaintools.com).
    </Tip>
  </Step>

  <Step title="Verify your records">
    Return to Brew and click **Verify records**. Records turn green as they verify; the domain status badge turns green when all records pass. Each record shows a color-coded status, so you can spot stragglers at a glance.

    <Note>
      DNS propagation can take up to 72 hours. If verification doesn't happen immediately, check back later. That's normal.
    </Note>
  </Step>
</Steps>

## Best Practices

<AccordionGroup>
  <Accordion title="Use a subdomain" icon="sitemap">
    Sending from a subdomain like `mail.yourdomain.com` instead of your root domain protects your main domain's reputation. If deliverability issues happen on a subdomain, you can isolate the problem without affecting the rest of your business.

    The subdomain you choose appears in the **From** field, so pick something recognizable.
  </Accordion>

  <Accordion title="Use a real reply address" icon="reply">
    Use addresses like `hello@company.com` or `support@company.com` and have someone monitor them. Replies signal to inbox providers that your content is valuable.
  </Accordion>

  <Accordion title="Align link domains with your sending domain" icon="link">
    When email links point to the same domain you're sending from, it builds trust and avoids spam filters. Avoid link shorteners like `bit.ly` in marketing emails.
  </Accordion>
</AccordionGroup>

## FAQ

<AccordionGroup>
  <Accordion title="Can I change my sending domain later?" icon="arrows-rotate">
    Yes. Go to **Settings → Domains** and update at any time. You'll need to re-verify the new domain, and we recommend ramping up sending volume gradually so the new domain builds reputation cleanly.
  </Accordion>

  <Accordion title="Why does it say my domain is already in use?" icon="lock">
    Another Brew account has already verified this domain or a related one. Once verified, a domain and all its subdomains are protected.

    What to do:

    * Find who set up the original Brew account on your team
    * Ask them to invite you
    * If you believe this is wrong, email [support@brew.new](mailto:support@brew.new) with proof of domain ownership
  </Accordion>

  <Accordion title="What if I don't own a domain?" icon="cart-shopping">
    Buy one from a registrar like GoDaddy, Namecheap, or Google Domains.
  </Accordion>

  <Accordion title="When do I need to repeat this?" icon="repeat">
    You'll need to re-verify if you switch subdomains, change your root domain, switch DNS providers, or change nameservers.
  </Accordion>
</AccordionGroup>

## Need help?

Our team is ready to support you at every step of your journey with Brew. Choose the option that works best for you:

<Tabs>
  <Tab title="Self-Service Tools">
    <CardGroup cols="2">
      <Card title="Search Documentation" icon="magnifying-glass" color="#c44925">
        Type in the "Ask any question" search bar at the top left to instantly find relevant documentation pages.
      </Card>

      <Card title="ChatGPT/Claude Integration" icon="robot" color="#c44925">
        Click "Open in ChatGPT" at the top right of any page to analyze documentation with ChatGPT or Claude for deeper insights.
      </Card>
    </CardGroup>
  </Tab>

  <Tab title="Talk to Our Team">
    <CardGroup cols="2">
      <Card title="Schedule a Call" icon="calendar" color="#c44925" href="https://calendar.google.com/calendar/u/0/appointments/schedules/AcZssZ1iYoRUG1J792XQpbuQLjSRRDupr7MwraFK-HQRCtTYdBmrQi8nZu2qXfzKQigb8gbKJK3KN3-R">
        Book time with our founders for personalized guidance on strategy, best practices, or complex implementation questions.
      </Card>

      <Card title="Call Us Directly" icon="phone" color="#c44925">
        Need immediate assistance? Reach us at **+1-(332)-203-2145** for urgent issues or time-sensitive questions.
      </Card>

      <Card title="Slack Channel" icon="slack" color="#c44925">
        Our preferred support channel. You'll receive an invite after signup for direct founder support and fast responses.
      </Card>

      <Card title="Email Support" icon="envelope" color="#c44925" href="mailto:support@brew.new">
        Contact us at **[support@brew.new](mailto:support@brew.new)** for detailed inquiries or if you prefer not to use Slack.
      </Card>
    </CardGroup>
  </Tab>
</Tabs>
