Porkbun Domain Email Setup: The DNS Records, Step by Step
Porkbun domain email setup, step by step: the records to add, what to delete first, and the quirks that stop mail arriving.
Porkbun domain email setup, step by step: the records to add, what to delete first, and the quirks that stop mail arriving.
You bought a domain at Porkbun, and somewhere around checkout Porkbun offered its own email hosting as well. Maybe you clicked past it. Maybe you didn't, and now you want something else. Either way, the setup comes down to eight DNS records typed into Porkbun's screen.
This page covers the Porkbun part only: which buttons, which fields, what to delete first, and the Porkbun habits that trip people up. If you want the background on what MX, SPF, DKIM and DMARC actually do, our custom domain email setup guide goes through it properly. We won't repeat it here.
Porkbun sells three email products, and its email page lists them side by side:
Check those figures on Porkbun's page before you decide. Prices move.
Our honest advice, even though it costs us a customer: if all you need is to receive mail at one address, keep Porkbun's free forwarding. It costs nothing and it works, and nobody should talk you into paying for that.
The case for a separate host starts when you want to send as the address, run more than one domain, or add mailboxes without the bill creeping up each time. That's where we fit. JustEmails is $49 a year, flat, for unlimited custom domains and unlimited mailboxes with a unified inbox across all of them — additional team members are $2 per member per month, and storage beyond the included 10 GB is $99 a year per 100 GB. Ten domains or one, the price doesn't change. For the longer comparison across providers, what a custom domain email address really costs runs the numbers.
One thing you can't do: run Porkbun forwarding and another email host on the same domain at once. A domain gets one set of MX records, pointing at one mail provider. So moving the domain's mail to us switches off Porkbun forwarding for that domain.
(Developers: the paid plan also includes a transactional email API, so your app's mail and your inbox can live on one account. It comes with 1,000 emails a month built in, and its sends count against the same daily limit as your mailboxes.)
Porkbun's DNS screen only does anything while your domain uses Porkbun's nameservers. If you've pointed the nameservers at Cloudflare or at a web host, records added in Porkbun won't take effect. Add them wherever your nameservers point instead.
Cloudflare, as it happens, is the one DNS provider where our dashboard adds every record for you in one click. So if that's where your nameservers point, you can skip most of this page. We'd like every registrar to work that way. Porkbun doesn't, so it's by hand.
Still on Porkbun's nameservers? Carry on. Open your JustEmails dashboard in another tab first, because three of the values below are unique to your domain and you'll copy them from there.
Add them in this order:
| Type | Name / host | Value | What it does |
|---|---|---|---|
| MX | @ (the domain) | mail1.justemails.app priority 10 | Delivers incoming mail to us |
| TXT | @ | v=spf1 a:mail1.justemails.app ~all | SPF: lets us send for the domain |
| TXT | dkim._domainkey | v=DKIM1; k=rsa; p=… (unique per domain) | DKIM signature key |
| TXT | arc._domainkey | v=DKIM1; k=rsa; p=… (same key as DKIM) | Signs forwarded mail |
| TXT | _dmarc | v=DMARC1; p=quarantine; rua=mailto:dmarc@justemails.app | DMARC policy |
| TXT | @ | justemails-verify=… (from the dashboard) | Proves the domain is yours |
| TXT | _mta-sts | v=STSv1; id=… (from the dashboard) | Turns on enforced encryption |
| CNAME | mta-sts | mta-sts.justemails.app | Hosts the encryption policy |
Four Porkbun translations before you start typing:
_dmarc, not _dmarc.yourdomain.com. Porkbun adds the domain on its own.Anything shown as … (the DKIM key, the verification token and the MTA-STS id) is different for every domain. Copy them from your dashboard. Don't type them from an example anywhere, this one included.
One SPF record only. If your domain already has a TXT record starting with
v=spf1(Porkbun's forwarding often leaves one behind), edit it to our value instead of adding a second. Two SPF records on the same domain make both of them fail.
And one DMARC record, too. A domain can carry only one, so if a
_dmarcTXT record already exists (some registrars and email products add one), edit it to our value instead of adding a second.
Open Domain Management. Log in to Porkbun and you'll land on Domain Management. If you're already logged in, click ACCOUNT at the top right and choose Domain Management.
Get to the DNS records. Find your domain and click its DNS button. (The longer route is Details, then the edit icon under DNS RECORDS.) Either way you reach Manage DNS Records, which lists every record currently on the domain.
Delete what conflicts. Click the trash-can icon next to every MX record on the root domain, and next to any TXT record whose value starts with v=spf1. Click OK when Porkbun asks you to confirm. If your domain has Porkbun's forwarding records, these are the ones to remove:
fwd1.porkbun.com, priority 10, blank Hostfwd2.porkbun.com, priority 20, blank Hostv=spf1 include:_spf.porkbun.com ~all, blank HostWould you rather edit the SPF record than delete it? Click the pencil icon next to it, paste in our value and save. Same result, one fewer record to add.
Add the MX record. Click Add Record. Type: MX. Host: blank. Answer: mail1.justemails.app. Priority: 10. Leave TTL at the default, which is what Porkbun recommends unless you've been told otherwise. Click Add, then Back to return to the list. The Notes field is optional and private, so nobody else sees it.
Then SPF. Type TXT, Host blank, Answer v=spf1 a:mail1.justemails.app ~all. Skip this step if you edited the old SPF record in step 3.
Now the two key records. Type TXT, Host dkim._domainkey, and in Answer paste the DKIM value from your dashboard. Then do it again with Host arc._domainkey and the same key.
DMARC next. Type TXT, Host _dmarc, Answer v=DMARC1; p=quarantine; rua=mailto:dmarc@justemails.app.
Paste in the verification record. Type TXT, Host blank, Answer: the justemails-verify=… value from your dashboard. Yes, it sits on the root next to SPF. That's fine, because it doesn't start with v=spf1, so it isn't a second SPF record.
Create the MTA-STS TXT record. Type TXT, Host _mta-sts, Answer: the v=STSv1; id=… value from your dashboard.
Finish with the CNAME. Type CNAME, Host mta-sts, Answer mta-sts.justemails.app. If a value you've copied ends in a dot, drop it. Porkbun's own examples are written without one.
Eight records. Slow and careful beats fast here. A single stray character in a pasted key takes longer to find than the whole job took to do, and a trailing space at the end of a DKIM key is easy to miss.
Porkbun says a brand-new record usually resolves everywhere moments after you click Add. Edited records are slower. Porkbun's minimum TTL is 600 seconds, so a corrected record can take about ten minutes to show up everywhere.
Then head back to the JustEmails dashboard. It checks each record and shows you which ones are still missing. No guessing. DNS changes usually show up within minutes and can take a few hours, so give a stubborn record a little time before you start poking at it. If one is still missing after that, look at its Host field first. It's easy to type the full domain where only the label belonged, or "@" where the field should have been blank.
Once everything checks out, you can send straight away. Plan around one limit, though. A newly verified domain is limited to no more than 50 emails a day in its first week, 200 a day in its second, and up to 500 a day from day 15, counted from the day the domain verified. For a normal inbox that's plenty. For a big announcement to your whole list on day one, it isn't, and we'd rather you hear that from us now than from a bounce log later.
And the checking doesn't stop once you're verified. If your SPF, DKIM, DMARC or MX record changes or disappears later (a teammate tidying up "old" records in Porkbun, for example), we notice and email you. Most people don't know they need that until a record quietly vanishes, which is why it's the feature we'd put first if anyone knew to ask for it.
Forwarding still half on. Porkbun forwarding owns the MX records. Leave even one fwd1 or fwd2 record in place and some incoming mail can keep going to Porkbun instead of to us. Delete both.
A second SPF record. Porkbun's forwarding SPF has a blank Host, just like ours, and a domain can only have one SPF record. Edit it or delete it. Never add ours alongside it.
Old DKIM and DMARC records. If you ever clicked Configure DMARC in Porkbun's email settings, Porkbun created DKIM and DMARC records for you. Delete the old _dmarc TXT record or edit it to our value, since a domain should have one DMARC record. Porkbun's DKIM record can go too; it does nothing once Porkbun stops sending your mail.
A paid Porkbun Email mailbox. Porkbun warns that altering the MX records can cause problems with its hosted email's sending and receiving. If you've been using Porkbun Email, move your existing mail out before you switch the MX record, not after. Our migration tool can pull a mailbox across over IMAP while the old records are still in place, which is the order we'd do it in.
"@" in the Host field. Porkbun's guides leave Host blank for the root, so do the same. Don't type "@" just because another provider's instructions show it.
The "A CNAME or ALIAS record with that host already exists" error. A CNAME can't share its host with any other record, and its Host can't be blank. If Porkbun shows this error when you add mta-sts, something already sits on that host. Porkbun has a help article for exactly that error.
An edit that won't save. Porkbun's own advice is to delete the record and create it again. Blunt, but it works.
The parking records. New Porkbun domains carry default records that point the site at Porkbun's parking page. They're about your website, not your email, so leave them alone unless you're moving your site as well.
No. Porkbun's forwarding runs on its own fwd1 and fwd2 MX records, and those have to go when the MX record points at mail1.justemails.app, so forwarding ends on that domain. For a single receive-only address, Porkbun's free forwarding is the cheaper answer. JustEmails earns its keep when you want to send as the address, or run several domains and mailboxes.
They can stay where they are. With Porkbun's nameservers in place, the eight records go into Porkbun's Manage DNS Records screen. Only if the nameservers already point elsewhere, say at Cloudflare or a web host, do the records belong there instead, and on Cloudflare the JustEmails dashboard can add all eight for you in one click.
It's Porkbun's convention for the root domain. Its guide to adding records tells you to leave Host empty when a record is for the root, and other providers write that same empty field as @. The same goes for the other hosts: type dkim._domainkey, not dkim._domainkey.yourdomain.com. A full domain or an @ in the Host field is the first thing to check when a record shows as missing in the dashboard.
According to Porkbun, a brand-new record usually resolves moments after you click Add, while an edit can take about ten minutes, because the lowest TTL Porkbun allows is 600 seconds. Across the wider internet, expect minutes, sometimes a few hours. The JustEmails dashboard lists any record it still can't find while you wait.
Copy the mail across first, and only then change the MX record. Porkbun's own warning is that altering the MX records can cause problems sending and receiving with a Porkbun Email mailbox. The JustEmails migration tool can pull the mailbox over IMAP before anything changes; once the messages are across, switch the records and delete Porkbun's old MX entries.
Yes. One flat $49 a year covers unlimited domains and mailboxes, and the included 10 GB of storage is shared across all of them. Each domain goes through the same eight records in its own Porkbun DNS screen, and the dashboard issues that domain its own DKIM key, verification token and MTA-STS id.
Create your JustEmails account, add your Porkbun domain, and the dashboard hands you all eight records with your own keys already filled in. $49 a year covers every domain you own, whether it's registered at Porkbun or anywhere else. See pricing.