Pointing a Vercel-managed domain at your newsletter
Vercel DNS holds every record Issue Mint asks for, including the one on the root of the domain. Vercel offers an ALIAS record, which resolves the target and answers with its addresses, and Issue Mint accepts that for the website and click tracking records.
This page is about Vercel DNS, meaning the domain’s name servers point at Vercel. A project deployed on Vercel does not imply that: plenty of Vercel projects sit on domains whose DNS is still at the registrar, and in that case the records go there instead. Working out where your DNS actually lives is the quickest way to be sure.
Adding a domain is optional in the first place. A newsletter publishes and sends from the
day you sign up, on its {slug}.issuemint.com address, and adding a domain moves the
website and the sending onto yours.
Where the DNS records are at Vercel
Vercel keeps DNS on the domain rather than on a project. Open the dashboard, go to Domains at account or team level, click the domain, and its DNS records list appears with a form for adding another above it.
The form asks for Name, Type, Value and TTL, and a Priority field appears for MX. Vercel
appends the domain, so Name takes the prefix on its own: www, go, send, _dmarc,
_acme-challenge.go. An empty Name, or @, means the domain itself.
The records to add
Seven records exist the moment you add the domain.
| Record | Type | Host | Value |
|---|---|---|---|
| Website (apex) | CNAME | @ | sites.issuemint.com |
| Website (www) | CNAME | www | sites.issuemint.com |
| Click tracking | CNAME | go | t.issuemint.com |
| Certificate validation | CNAME | _acme-challenge | the value shown in your domain tab |
| Certificate validation | CNAME | _acme-challenge.www | the value shown in your domain tab |
| Certificate validation | CNAME | _acme-challenge.go | the value shown in your domain tab |
| DMARC policy (optional) | TXT | _dmarc | v=DMARC1; p=none; |
Copy the values from Settings, then Domain and DNS, rather than from this page. The three
_acme-challenge records carry an identifier unique to your account, so no documentation
page can print them, and every value in the domain tab has a copy button beside it. The
record on go is what serves click tracking links from your
own domain instead of ours, and what each record is for covers
the rest, including which ones are optional.
The record on the bare domain
Enter the root record as an ALIAS with Name left empty and the target Issue Mint shows for it in Value.
Issue Mint lists that record as a CNAME and accepts an ALIAS, because the two say the same
thing. A CNAME may not sit at the root of a zone beside its NS and SOA records, so every
provider that supports the root at all resolves the target itself and answers with
addresses instead. Issue Mint compares those addresses against the target’s own and
verifies the record. The www and go records are ordinary CNAMEs and need nothing
special.
The three certificate records must stay real CNAMEs. Cloudflare follows them itself to renew your certificate, so a flattened value is genuinely broken there rather than an acceptable substitute, and how HTTPS is issued and renewed explains what that card on the domain tab is telling you.
The sending records, which arrive later
Five more records appear once Amazon has handed back your DKIM tokens, which happens on its own shortly after the domain is added.
| Record | Type | Host | Value |
|---|---|---|---|
| DKIM signing | CNAME | the first token shown in your domain tab, then ._domainkey | the matching dkim.amazonses.com value |
| DKIM signing | CNAME | the second token, then ._domainkey | the matching dkim.amazonses.com value |
| DKIM signing | CNAME | the third token, then ._domainkey | the matching dkim.amazonses.com value |
| Custom MAIL FROM | MX priority 10 | send | feedback-smtp.eu-west-1.amazonses.com |
| SPF for MAIL FROM | TXT | send | v=spf1 include:amazonses.com ~all |
Each DKIM host is a long token followed by ._domainkey, and Vercel appends the domain, so
Name takes the token and ._domainkey and nothing else. Use the copy button rather than
reading the token off the screen, because these are long enough that copying them by hand
goes wrong. Until all three verify, issues go out from our address; after they do, they come
from yours, which is what sending from your own domain means in
practice.
The MX and TXT records both sit on send, a subdomain, so mail addressed to your domain
itself is unaffected. Whatever mail records the zone already holds on the root can stay as
they are.
After you save
Vercel publishes a change to its own name servers immediately, and the public resolvers pick it up within minutes. Issue Mint checks a newly added domain every ten minutes for its first two days and hourly after that, and Verify now forces a check immediately.
Certificates issue on their own once the _acme-challenge records resolve. If a record you
are sure about will not verify,
the order to check things in starts with the
cause that turns out to be the real one most often.
Questions
Why an ALIAS rather than a CNAME on the root?
Because a CNAME may not sit at the root of a zone, and Vercel refuses one there. An ALIAS says the same thing: Vercel resolves the target and answers with its addresses. Issue Mint lists the record as a CNAME because that is what it means, and accepts what an ALIAS returns.
Does a Vercel project on this domain need changing?
Only if it is assigned to the hostname you are moving. A hostname serves one thing at a time, so a project on the root or on www comes off that hostname when Issue Mint takes it. Adding a subdomain to Issue Mint instead leaves every project where it is.
Try it on your own list.
14 days, every feature, no card. Sending works from the moment you sign up.
Start your trial