[{"data":1,"prerenderedAt":527},["ShallowReactive",2],{"\u002Fblog\u002Fvercel-domain-email":3,"\u002Fblog\u002Fvercel-domain-email-surround":518},{"id":4,"title":5,"authors":6,"badge":12,"body":14,"date":506,"description":507,"extension":508,"image":509,"meta":511,"navigation":512,"path":513,"seo":514,"stem":515,"updatedAt":516,"__hash__":517},"posts\u002Fblog\u002Fvercel-domain-email.md","Vercel Email: How to Get Mail Working on a Vercel Domain",[7],{"name":8,"to":9,"avatar":10},"Rares Serban","\u002Fabout",{"src":11},"\u002Fimages\u002Frares-serban.jpg",{"label":13},"Guide",{"type":15,"value":16,"toc":487},"minimark",[17,21,24,29,46,49,60,63,67,74,130,133,137,155,166,169,173,180,214,221,228,239,245,269,278,297,301,304,312,316,342,349,356,360,363,376,379,417,425,429,432,440,447,451,456,459,463,466,470,473,477,480,484],[18,19,20],"p",{},"Vercel email in one line: Vercel runs DNS for your domain, but it doesn't host mailboxes or send mail, so you pick an email provider and add its records on the domain's DNS page in Vercel. Receiving needs MX records. Sending reliably needs SPF and DKIM as well. And if your nameservers aren't Vercel's, records added in Vercel do nothing: add them wherever your DNS actually lives.",[18,22,23],{},"Vercel's docs and changelog below were checked on 25 October 2026.",[25,26,28],"h2",{"id":27},"does-vercel-do-email-no-it-does-dns","Does Vercel do email? No, it does DNS",[18,30,31,32,39,40,45],{},"Vercel's guide is direct: \"Vercel manages DNS for your domain but doesn't host mailboxes or send and receive email\" (",[33,34,38],"a",{"href":35,"rel":36},"https:\u002F\u002Fvercel.com\u002Fkb\u002Fguide\u002Fset-up-email-with-your-vercel-domain",[37],"nofollow","Vercel KB: set up email with your Vercel domain","). That holds whether you bought the domain on Vercel or pointed its nameservers there. The ",[33,41,44],{"href":42,"rel":43},"https:\u002F\u002Fvercel.com\u002Fdocs\u002Fdomains\u002Fmanaging-dns-records",[37],"DNS records docs"," say the same: \"Vercel does not provide an email service\".",[18,47,48],{},"What Vercel gives you is the zone, and its records only count if Vercel is authoritative for the domain. Adding a domain to a Vercel project doesn't change its DNS or email either. To see who actually answers for your domain:",[50,51,56],"pre",{"className":52,"code":54,"language":55},[53],"language-text","dig NS yourdomain.com +short\n","text",[57,58,54],"code",{"__ignoreMap":59},"",[18,61,62],{},"If that returns Vercel's nameservers, everything below happens in Vercel. If it's Cloudflare, your registrar or anyone else, add the records there instead.",[25,64,66],{"id":65},"the-two-halves-and-why-its-usually-two-vendors","The two halves, and why it's usually two vendors",[18,68,69,70,73],{},"Email on a domain is two jobs: receiving what people send to ",[57,71,72],{},"hello@",", and sending, whether that's a person writing back or your app sending sign-up mail. Vercel's guide sorts providers into three types:",[75,76,77,93],"table",{},[78,79,80],"thead",{},[81,82,83,87,90],"tr",{},[84,85,86],"th",{},"What you need",[84,88,89],{},"Provider type",[84,91,92],{},"Examples from Vercel's guide",[94,95,96,108,119],"tbody",{},[81,97,98,102,105],{},[99,100,101],"td",{},"Mailboxes people read and send from",[99,103,104],{},"Hosted email suite",[99,106,107],{},"Google Workspace, Zoho Mail, Fastmail",[81,109,110,113,116],{},[99,111,112],{},"Mail passed on to an inbox you already have",[99,114,115],{},"Forwarding",[99,117,118],{},"ImprovMX, Forward Email",[81,120,121,124,127],{},[99,122,123],{},"Your app's sign-up, reset and receipt mail",[99,125,126],{},"Email API",[99,128,129],{},"Resend, SendGrid, Postmark",[18,131,132],{},"A hosted suite covers both halves for people, priced per user. Otherwise you get the default Vercel stack: a forwarder or mailbox to receive, plus an email API for the app. Two vendors, two setups, one domain.",[25,134,136],{"id":135},"dns-presets-the-fast-path-for-some-providers","DNS presets: the fast path for some providers",[18,138,139,140,144,145,148,149,154],{},"For some providers you don't type records at all. Open ",[141,142,143],"strong",{},"Domains",", select the domain and use the ",[141,146,147],{},"Add DNS Preset"," dropdown. Per Vercel's ",[33,150,153],{"href":151,"rel":152},"https:\u002F\u002Fvercel.com\u002Fchangelog\u002Fnew-setup-page-after-domain-checkout",[37],"changelog from 5 August 2026",", presets exist for Google Workspace, Outlook, iCloud, Proton Mail, Zoho, Mailgun and ImprovMX (plus a Bluesky handle preset, which isn't email). You still finish verification in the provider's own dashboard.",[18,156,157,158,161,162,165],{},"One Google detail from the KB: new Workspace setups use a single ",[57,159,160],{},"smtp.google.com"," MX, while domains set up before 2023 may use the legacy five ",[57,163,164],{},"ASPMX"," records. Both work. Mixing them causes routing problems, so use one set, never both.",[18,167,168],{},"If you want full Google Workspace mailboxes for each person on the team, that's the honest answer to this whole page: use the Workspace preset and you're done.",[25,170,172],{"id":171},"adding-vercel-domain-email-records-by-hand","Adding Vercel domain email records by hand",[18,174,175,176,179],{},"Without a preset, records go in through ",[141,177,178],{},"Add record"," on the domain's page:",[181,182,183,190,196,202,208],"ul",{},[184,185,186,189],"li",{},[141,187,188],{},"Name",": empty for the root, or only the subdomain prefix for anything below it.",[184,191,192,195],{},[141,193,194],{},"Type",": MX, TXT, CNAME and so on.",[184,197,198,201],{},[141,199,200],{},"Value",": whatever the provider gives you.",[184,203,204,207],{},[141,205,206],{},"TTL",": defaults to 60 seconds.",[184,209,210,213],{},[141,211,212],{},"Priority",": MX only. Lower numbers are tried first.",[18,215,216,217,220],{},"Here's a real set: the three records Mailyond needs for ",[57,218,219],{},"updates.beyondfolder.com",", a subdomain I use for mail.",[18,222,223],{},[224,225],"img",{"alt":226,"src":227},"Adding an MX record for email in Vercel DNS","\u002Fimages\u002Fvercel-domain-email-add-record.png",[18,229,230,231,234,235,238],{},"The MX going in: Name ",[57,232,233],{},"updates",", Value ",[57,236,237],{},"inbound.postmarkapp.com",", priority 10, TTL 60. Below it sit the Return-Path CNAME, the DKIM TXT and Vercel's default CAA record.",[18,240,241],{},[224,242],{"alt":243,"src":244},"Vercel domain email records for a Mailyond subdomain","\u002Fimages\u002Fvercel-domain-email-records.png",[18,246,247,248,250,251,253,254,250,257,260,261,264,265,268],{},"All three saved: MX ",[57,249,233],{}," to ",[57,252,237],{}," at priority 10, CNAME ",[57,255,256],{},"pm-bounces.updates",[57,258,259],{},"pm.mtasv.net",", and TXT ",[57,262,263],{},"20260905115320pm._domainkey.updates"," holding the DKIM key (",[57,266,267],{},"k=rsa; p=MIGfMA0...",").",[18,270,271,272,274,275,277],{},"Note the Name column: ",[57,273,233],{},", not ",[57,276,219],{},". Vercel's docs: \"For email on a subdomain, enter only that subdomain's prefix.\" Typing the full hostname there is the most common mistake in Vercel's panel.",[18,279,280,281,284,285,288,289,292,293,296],{},"An honest note on these screenshots: ",[57,282,283],{},"beyondfolder.com"," doesn't run on Vercel DNS. I added it to a Vercel team to show the panel, but its live DNS stays on Cloudflare (nameservers ",[57,286,287],{},"emily.ns.cloudflare.com"," and ",[57,290,291],{},"lloyd.ns.cloudflare.com",", checked 25 October 2026), so Vercel's copy answers nothing. That's the lesson: records in a zone that isn't authoritative do nothing, however correct they look, which is why the ",[57,294,295],{},"dig NS"," check comes first.",[25,298,300],{"id":299},"vercel-email-forwarding","Vercel email forwarding",[18,302,303],{},"Vercel has no forwarding of its own: its docs say it provides no email service, and as of 25 October 2026 no changelog entry adds one. Vercel email forwarding in practice means a third-party forwarder whose MX records go on the root, plus its SPF TXT. ImprovMX has a preset; Forward Email you add by hand.",[18,305,306,307,311],{},"Forwarding only receives: reply to a forwarded message and it goes out from your personal address, unless you set up Send-as or another sender. More on where forwarders stop in ",[33,308,310],{"href":309},"\u002Fblog\u002Femail-forwarding-service","email forwarding service",".",[25,313,315],{"id":314},"sending-from-your-vercel-app","Sending from your Vercel app",[18,317,318,319,322,323,326,327,329,330,334,335,337,338,268],{},"The KB's route is Resend from the Vercel Marketplace. The install stores a ",[57,320,321],{},"RESEND_API_KEY"," environment variable on your project, and Resend's SPF TXT and bounce MX go on a ",[57,324,325],{},"send"," subdomain by default, plus a DKIM record, so you type each name exactly as Resend shows it (",[57,328,325],{}," for the first two). They don't collide with the root MX and SPF your inbox provider uses. The ",[33,331,333],{"href":35,"rel":332},[37],"KB guide"," has the code. That ",[57,336,325],{}," subdomain only collects bounces, so decide where replies to your app's mail land before launch (",[33,339,341],{"href":340},"\u002Fblog\u002Fwhere-do-resend-replies-go","where Resend replies go",[18,343,344,345,348],{},"If a second sender needs SPF on the same name, merge both into one ",[57,346,347],{},"v=spf1"," TXT record. Two SPF records on one name break SPF.",[18,350,351,352,268],{},"Several projects on Vercel, each on its own domain, means repeating this per domain, and email API pricing steps up with domain count (",[33,353,355],{"href":354},"\u002Fblog\u002Ftransactional-email-for-multiple-domains","transactional email for multiple domains",[25,357,359],{"id":358},"vercel-email-stopped-working-after-a-nameserver-move","Vercel email stopped working after a nameserver move",[18,361,362],{},"This is what brings most people here. Switching nameservers to Vercel replaces your registrar's DNS records, MX included. The DNS docs: \"Records at the previous DNS provider no longer control delivery after the nameserver change takes effect.\" Your mail provider is fine. Mail servers just can't find it.",[18,364,365,366,369,370,375],{},"The fix is to re-add the provider's MX and TXT records in Vercel, ideally before you switch or right after: SPF, DKIM, and your ",[57,367,368],{},"_dmarc"," TXT if you had one (DMARC is now ",[33,371,374],{"href":372,"rel":373},"https:\u002F\u002Fwww.rfc-editor.org\u002Frfc\u002Frfc9989.html",[37],"RFC 9989","). Export or screenshot the old zone before switching, so every value is there to copy.",[18,377,378],{},"Then check:",[181,380,381,387,393,399,408],{},[184,382,383,386],{},[141,384,385],{},"Time."," Usually minutes, up to 24 hours. Google allows up to 72 hours for a new MX.",[184,388,389,392],{},[141,390,391],{},"An external test."," Send from another domain's account, and check Spam.",[184,394,395,398],{},[141,396,397],{},"One SPF record per name."," Merge any duplicates.",[184,400,401,404,405,311],{},[141,402,403],{},"Team scope."," Can't add records at all? You're probably in the wrong team: run ",[57,406,407],{},"vercel switch",[184,409,410,413,414,416],{},[141,411,412],{},"Nameservers."," Records not resolving? Run ",[57,415,295],{}," again and add them wherever DNS answers.",[18,418,419,420,424],{},"The ",[33,421,423],{"href":422},"\u002Ftools\u002Fmx-record-checker","MX record checker"," shows what the rest of the internet sees for your domain.",[25,426,428],{"id":427},"where-mailyond-fits","Where Mailyond fits",[18,430,431],{},"The default Vercel setup gives each domain two vendors: one so the app can send, another so someone can read what comes back. Mailyond does both on one setup. Your app sends through a Resend-compatible API, and the replies, plus anything people write to any address on the domain, arrive in one inbox next to your other domains, where you answer as the address they wrote to. An app already on the Resend SDK keeps its send code and swaps the API key and base URL.",[18,433,434,435,439],{},"In Vercel DNS it's one 5-minute DNS setup with 3 records, the three in the screenshots: a DKIM TXT, a Return-Path CNAME and an MX. It works on a subdomain too, leaving a mailbox on the apex alone (",[33,436,438],{"href":437},"\u002Fblog\u002Femail-on-subdomain","email on a subdomain","). Basic is $10 a month for up to 5 domains, Pro is $20 for up to 10 and Agency is $40 for up to 30. Basic and Pro come with a 7-day free trial.",[18,441,442,443,311],{},"If every person on the team needs a Workspace mailbox, the Google preset is the better fit. If you want your app's mail and its replies in one place across your domains, ",[33,444,446],{"href":445},"\u002Fsignup","connect your first domain",[25,448,450],{"id":449},"faq","FAQ",[452,453,455],"h3",{"id":454},"does-vercel-provide-email-hosting","Does Vercel provide email hosting?",[18,457,458],{},"No. Vercel manages DNS but doesn't host mailboxes or send and receive email. You pick a provider and add its records in Vercel DNS.",[452,460,462],{"id":461},"why-did-my-email-stop-after-i-moved-to-vercel","Why did my email stop after I moved to Vercel?",[18,464,465],{},"Switching nameservers to Vercel replaces your previous DNS records, MX included. Re-add your provider's MX and TXT records in Vercel and mail arrives again.",[452,467,469],{"id":468},"which-records-do-i-need-to-receive-email","Which records do I need to receive email?",[18,471,472],{},"MX records from your provider, and usually a TXT record to verify the domain. Sending reliably also needs SPF and DKIM.",[452,474,476],{"id":475},"can-i-forward-email-on-a-vercel-domain","Can I forward email on a Vercel domain?",[18,478,479],{},"Yes, through a third-party forwarder such as ImprovMX (which has a preset) or Forward Email. Vercel has no forwarding of its own, and forwarding only receives.",[452,481,483],{"id":482},"how-long-do-mx-records-take","How long do MX records take?",[18,485,486],{},"Usually minutes, up to 24 hours. Google allows up to 72 hours for a new MX record.",{"title":59,"searchDepth":488,"depth":488,"links":489},2,[490,491,492,493,494,495,496,497,498],{"id":27,"depth":488,"text":28},{"id":65,"depth":488,"text":66},{"id":135,"depth":488,"text":136},{"id":171,"depth":488,"text":172},{"id":299,"depth":488,"text":300},{"id":314,"depth":488,"text":315},{"id":358,"depth":488,"text":359},{"id":427,"depth":488,"text":428},{"id":449,"depth":488,"text":450,"children":499},[500,502,503,504,505],{"id":454,"depth":501,"text":455},3,{"id":461,"depth":501,"text":462},{"id":468,"depth":501,"text":469},{"id":475,"depth":501,"text":476},{"id":482,"depth":501,"text":483},"2026-10-25","Vercel email setup: Vercel doesn't host mail, so add MX, SPF and DKIM records in Vercel DNS, fix mail lost after a nameserver move, and send from your app.","md",{"src":510},"https:\u002F\u002Fimages.pexels.com\u002Fphotos\u002F1181675\u002Fpexels-photo-1181675.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",{},true,"\u002Fblog\u002Fvercel-domain-email",{"title":5,"description":507},"blog\u002Fvercel-domain-email",null,"RA2xevdv0IL8zcfOB8VDwaebE5FSaZ2YCxch_d92lZA",[519,523],{"title":520,"path":354,"stem":521,"description":522,"children":-1},"Transactional Email for Multiple Domains: Where It Breaks","blog\u002Ftransactional-email-for-multiple-domains","Transactional email for multiple domains is priced by domain count, not volume. What Resend, Postmark, Mailgun and Mailyond really cost across five domains.",{"title":524,"path":340,"stem":525,"description":526,"children":-1},"Where Do Resend Replies Go? Resend Inbound and Your Options","blog\u002Fwhere-do-resend-replies-go","Replies to Resend email go to your From or Reply-To address. Here is how Resend inbound works, and how to read replies on the same domain at a flat price.",1792958703946]