Skip to content
BurnerByte

self-hosting

DNS Setup

Configure DNS records for receiving email.

Required Records

MX Record

Points email delivery to your SMTP server:

text
test.example.com.  IN  MX  10  mail.yourserver.com.

The MX target must equal the API process's smtp.hostname (BB_SMTP_HOSTNAME) exactly — a case-insensitive comparison with the trailing dot stripped, and no suffix or subdomain fallback. mail.yourserver.com in DNS against a smtp.hostname of yourserver.com, or against the localhost default, will never verify. Note it is the API that runs the check, not smtpd.

TXT Verification Record

BurnerByte generates a unique token for each domain:

text
test.example.com.  IN  TXT  "burnerbyte-verify=<your-token>"

The token is the domain's UUID, shown on the domain detail page. Matching is a substring test against every TXT record on the name, so the value may sit inside a longer record. Deleting and re-adding a domain mints a new token.

Additional Records

SPF

SPF is checked on every verification pass and shown on the domain page, but it gates nothing — only MX and TXT decide the verified state. The check is satisfied only by a v=spf1 record that contains the configured smtp.hostname as a literal substring; a mechanism like mx that merely resolves to your host does not count:

text
test.example.com.  IN  TXT  "v=spf1 a:mail.yourserver.com mx -all"

A bare "v=spf1 mx -all" is perfectly valid SPF but leaves BurnerByte's SPF indicator red, because the hostname string is absent.

DKIM

If you sign outbound mail, publish the DKIM public key your signer generates:

text
<selector>._domainkey.test.example.com.  IN  TXT  "v=DKIM1; k=rsa; p=<public-key>"

DMARC

Publish a DMARC policy so receivers know how to handle unauthenticated mail:

text
_dmarc.test.example.com.  IN  TXT  "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com"
Note

Use a Subdomain

Pointing your apex domain's MX at a disposable-inbox platform routes every address at your organization there. Almost always you want a subdomain:

text
; Disposable inboxes live here, and only here.test.example.com.    IN  MX   10  mail.yourserver.com.test.example.com.    IN  TXT  "burnerbyte-verify=<token>" ; Real company mail is untouched.example.com.         IN  MX   10  aspmx.l.google.com.

Addresses then read qa-signup-flow@test.example.com, which is also clearer to whoever reads the bug report. Each subdomain is added and verified in BurnerByte as its own domain.

Careful

Verification

After adding DNS records:

  1. Wait for DNS propagation (usually 5–30 minutes)
  2. Click Re-verify DNS on the domain detail page
  3. Or wait for the background DNS recheck worker (runs every hour)

Both MX and TXT records must be verified before the domain can receive emails.

Testing

bash
# Check MXdig MX test.example.com # Check TXTdig TXT test.example.com # Send a test emailswaks --to test@test.example.com --server mail.yourserver.com:2525
Note