# Squarespace Domain Email → Gmail Setup
This guide sets up an address like `
[email protected]` on a domain registered with **Squarespace**, so that:
- **Incoming mail** is forwarded to Gmail by **Squarespace's built-in email forwarding** (free, up to 100 addresses)
- **Outgoing mail** is sent from Gmail through **Brevo's SMTP server** (free, 300 emails/day), so it comes from your custom address and passes spam checks
The steps are in the order you'll do them.
> [!info] Why this is simpler than the Cloudflare route
> Squarespace domains include free email forwarding and full DNS management. If you keep DNS at Squarespace, you don't need Cloudflare at all: Squarespace handles receiving, and Brevo handles sending.
> If you'd rather manage all your domains in Cloudflare, see **Appendix: Moving DNS to Cloudflare** at the end. Squarespace's forwarding stops working once DNS moves, so you'd use Cloudflare Email Routing instead.
> [!warning] Squarespace login email
> If you log in to Squarespace with an address **at this same domain**, change your Squarespace login to another email (like your Gmail) before changing any MX records. Otherwise password resets and verification emails can stop arriving and lock you out.
---
## Part 1: Check the Domain in Squarespace
- [ ] Log in to Squarespace and open **Domains**
- [ ] Select the domain
- [ ] Turn on **two-factor authentication** for your Squarespace account if it isn't already (this account controls the domain)
- [ ] Open the domain's **DNS** settings and confirm it's using **Squarespace nameservers** (not custom ones)
> [!note] Custom nameservers
> If the domain uses custom nameservers (e.g., Vercel's or Cloudflare's), any record you add in Squarespace saves but **doesn't take effect**. Either switch back to Squarespace nameservers or follow the guide for wherever DNS actually lives.
---
## Part 2: Point the Website at Your Host (if needed)
Skip this part if the domain doesn't have a website, or if it's a Squarespace site that already works.
### If the site is on Vercel (e.g., Digital Garden)
Digital Garden publishes from Obsidian to Vercel, which works no matter where DNS lives. The domain just needs records pointing to Vercel.
- [ ] In Vercel, add the domain to the project: **Settings → Domains**
- [ ] Note the records Vercel asks for (usually an **A record** for the bare domain and a **CNAME** for `www`)
- [ ] In Squarespace DNS, add those records under **Custom records**
- [ ] Remove any Squarespace default records that conflict (e.g., Squarespace's own A records or `www` CNAME for a Squarespace site)
- [ ] In Vercel, wait until the domain shows as **valid**
- [ ] Load the site in a browser and confirm it works over `https://`
> [!tip] Entering record names in Squarespace
> Enter only the prefix (e.g. `www`, `brevo1._domainkey`); Squarespace adds the domain. Use `@` for the root domain.
---
## Part 3: Receive Mail with Squarespace Email Forwarding
- [ ] In Squarespace, open the domain → **Email** → **Email forwarding**
- [ ] Add a forwarding rule: alias `guy` → your Gmail address
- [ ] Complete any verification Squarespace asks for (it may send a confirmation to Gmail)
- [ ] Let Squarespace add its forwarding **MX records** if prompted
- [ ] **Test:** email the new address from another account and confirm it arrives in Gmail
Receiving must work before Part 5, because Gmail sends a confirmation code to the new address.
> [!note] Note Squarespace's SPF record
> Forwarding may add an **SPF TXT record** (starts with `v=spf1`). Note what it says. You'll need it in Part 4, because a domain can have only one SPF record.
---
## Part 4: Set Up Brevo for Sending
Brevo provides the SMTP server Gmail uses to send as your custom address. Signing up with your Gmail is fine; the account email is only your login.
> [!info] Already have a Brevo account?
> Skip **Create the account**, **Turn off IP blocking**, and **Get the SMTP credentials**; those are per-account, not per-domain. You can reuse your existing SMTP login and key. Just authenticate the new domain and add the new sender.
### Create the account
- [ ] Create a free **Brevo** account
- [ ] Complete any account activation or profile steps Brevo asks for (look for a banner or an email). SMTP may not work until this is done.
### Authenticate the domain
This proves to receiving servers that Brevo is allowed to send for your domain, so your mail doesn't land in spam.
- [ ] Go to **Senders & Domains** and add the domain
- [ ] In Squarespace DNS → **Custom records**, add Brevo's **verification**, **DKIM**, and **DMARC** records
- [ ] If Brevo asks for an **SPF** record and Squarespace forwarding already added one, **combine them** into one record instead of adding a second (see below)
- [ ] Back in Brevo, click to verify, and confirm the domain shows as **authenticated** (DNS changes can take a little while)
- [ ] Add your custom address (e.g. `
[email protected]`) as a **sender**, not your Gmail
> [!warning] One SPF record only
> Two `v=spf1` records make both fail, which sends mail to spam. Merge them by putting every `include:` in a single record, e.g.
> `v=spf1 include:<squarespace-forwarding-value> include:spf.brevo.com ~all`
> Replace `<squarespace-forwarding-value>` with whatever `include:` appears in Squarespace's existing SPF record.
### Turn off IP blocking for SMTP
Brevo can block SMTP connections from IP addresses it hasn't approved. Gmail connects from many changing Google servers, so with blocking on, Gmail fails with:
`525 5.7.1 Unauthorized IP address`
SMTP keys have no automatic learning phase, so you have to turn blocking off for SMTP.
- [ ] Account dropdown → **Settings → Security → Authorized IPs**
- [ ] Under **Blocking unauthorized IP addresses**, find the **SMTP keys** row
- [ ] If it says Activated, click **Deactivate for SMTP**, then **Deactivate blocking** to confirm
- [ ] *(Optional)* Leave blocking on for **API keys**; the two are set separately
> [!note] The tradeoff
> With SMTP blocking off, anyone with your SMTP key could send through your Brevo account. Keep the key private (store it only in Gmail), and delete and regenerate it in Brevo if you think it's been exposed.
### Get the SMTP credentials
- [ ] Account name (top right) → **SMTP & API → SMTP** tab
- [ ] Copy the **Login** shown there (looks like `
[email protected]`)
- [ ] Generate an **SMTP key** (starts with `xsmtpsib-`) and copy it right away; it's only shown once
---
## Part 5: Add the Address to Gmail
Do this on a computer; the Gmail mobile app can't add "Send mail as" addresses.
- [ ] Gmail → gear icon → **See all settings → Accounts and Import**
- [ ] Under **Send mail as**, click **Add another email address**
- [ ] **Name:** how you want to appear to recipients
- [ ] **Email address:** your custom address
- [ ] **Treat as an alias:** leave checked for your own address
- [ ] Click **Next Step**
- [ ] **SMTP Server:** `smtp-relay.brevo.com`
- [ ] **Port:** `587`
- [ ] **Username:** the Brevo SMTP **Login** (not your account email)
- [ ] **Password:** the Brevo **SMTP key**
- [ ] Select **Secured connection using TLS**
- [ ] Click **Add Account**
- [ ] Gmail emails a confirmation code to the custom address; it arrives through Squarespace forwarding (check Spam if not)
- [ ] Enter the code and click **Verify** (or click the link in the email)
### Recommended Gmail settings
- [ ] Under "When replying to a message," choose **Reply from the same address the message was sent to**
- [ ] *(Optional)* Click **make default** next to the new address to use it for all new emails
---
## Part 6: Test
- [ ] Compose a new email, choose the custom address in the **From** field, and send it to a *different* account (not your own Gmail)
- [ ] In the received message, open **Show original** (or message details) and confirm **SPF, DKIM, and DMARC** all pass
- [ ] Reply to it and confirm the reply arrives in Gmail
---
## Troubleshooting
> [!tip] Records saved in Squarespace but nothing works
> The domain may be using custom nameservers. Check Part 1.
> [!tip] SPF fails in "Show original"
> Look for two `v=spf1` TXT records in Squarespace DNS and merge them (Part 4).
> [!tip] Gmail says "Authentication error"
> - Username must be the SMTP **Login** from Brevo's SMTP tab
> - Key must start with `xsmtpsib-` (an `xkeysib-` key is an API key and won't work)
> - Check for a trailing space after pasting the key
> - Look for a Brevo banner or email about finishing account activation
> [!tip] Error `525 5.7.1 Unauthorized IP address`
> Brevo's SMTP IP blocking is on. See **Turn off IP blocking for SMTP** in Part 4.
> [!tip] Gmail's confirmation code never arrives
> Receiving isn't working yet. Check the Squarespace forwarding rule and send a test email from another account.
---
## Appendix: Moving DNS to Cloudflare
Use this if you'd rather manage all your domains in Cloudflare. The domain stays registered at Squarespace; only DNS moves.
> [!warning] Squarespace forwarding stops working
> Once nameservers point to Cloudflare, Squarespace's email forwarding no longer applies. Use **Cloudflare Email Routing** instead (Part 3 of the main Cloudflare guide).
- [ ] Change your Squarespace login email if it's at this domain (see the warning at the top)
- [ ] **Write down every DNS record** in Squarespace (including website and Brevo records)
- [ ] In Cloudflare, add the domain (Free plan) and compare the imported records against your list
- [ ] In Squarespace → domain → **DNS**, turn **DNSSEC off**. Squarespace turns it on automatically for supported domains, and leaving it on during the switch can take the domain offline.
- [ ] In Squarespace → domain → **DNS → Domain Nameservers**, choose **Use custom nameservers** and enter the two Cloudflare nameservers
- [ ] Wait for Cloudflare to show the domain as active
- [ ] Set any records pointing to Vercel to **gray cloud (DNS only)**
- [ ] Set up **Cloudflare Email Routing**: Compute → Email Service → Email Routing → Onboard Domain → add Gmail destination → create routing rule
- [ ] Make sure there's still only **one SPF record**, now combining Cloudflare's and Brevo's includes
- [ ] *(Optional)* Re-enable DNSSEC from Cloudflare once the domain is active
- [ ] Test receiving, sending, and the website