← Back to docs

Domain Setup

Domain Setup

Full checklist

This guide covers DNS configuration. See the full Setup Checklist to verify all steps for production readiness.

To send emails with Postscale, you need to configure your domain's authentication DNS records. If you also want Postscale to receive mail for the domain, add MX records as described below.

Adding a Domain

  1. Log in to the Postscale Dashboard
  2. Navigate to DomainsAdd Domain
  3. Enter your domain name (e.g., yourcompany.com)
  4. Click Add Domain

Postscale will generate the DNS records you need to add.

DNS Records Overview

Record TypePurpose
Ownership TXTProves you control the domain
SPFAuthorizes Postscale to send emails on your behalf
DKIMAdds cryptographic signatures to verify email authenticity
DMARCTells receiving servers how to handle authentication failures
MXRoutes incoming emails to Postscale (required only for inbound-capable domains)
Return-Path CNAMERoutes delayed bounce notifications for outbound mail

Domain Types and MX Requirements

Choose the domain type based on what Postscale should do for that domain.

Domain typePostscale useRequired DNSMX to Postscale?
outboundSend onlyOwnership TXT, SPF, DKIMNo
inboundReceive onlyOwnership TXT, MXYes, for the host receiving mail
bothSend and receiveOwnership TXT, MX, SPF, DKIMYes
aliasMasked or forwarding aliasesOwnership TXT, MXYes
Keep mailbox MX records for outbound-only

If Google Workspace, Microsoft 365, or another mailbox provider handles incoming mail for your root domain, configure the domain as outbound and leave those MX records unchanged.

Sending Configuration

Outbound-only domains do not require root MX records. If your primary domain already receives mail at Google Workspace or another mailbox provider, leave those MX records in place and configure only the sending records below.

SPF Record

Add this TXT record to authorize Postscale:

Type: TXT
Host: @
Value: v=spf1 include:_spf.postscale.io ~all

If you already have an SPF record, add include:_spf.postscale.io before the ~all or -all:

v=spf1 include:_spf.google.com include:_spf.postscale.io ~all

DKIM Record

Add the DKIM record provided in your dashboard:

Type: TXT
Host: postscale._domainkey
Value: v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4...

The DKIM key is unique to your domain and generated when you add the domain.

DMARC Record

Add a DMARC policy to specify how to handle authentication failures. When you add a domain, Postscale automatically generates a unique DMARC report address. The recommended record is shown in your domain's DNS settings:

Type: TXT
Host: _dmarc
Value: v=DMARC1; p=quarantine; rua=mailto:{your-address}@dmarc.postscale.io

Using the Postscale rua= address enables automatic DMARC aggregate report collection and analysis in your dashboard. See the DMARC Reports guide for details.

DMARC policies:

  • p=none — Monitor only, don't take action
  • p=quarantine — Send failures to spam
  • p=reject — Reject failures outright
Start with monitoring

Start with p=none to monitor authentication results, then gradually move to quarantine and reject.

Return-Path CNAME for Delayed Bounces

For outbound-capable domains, Postscale also shows a return-path CNAME:

Type: CNAME
Host: ps-bounces
Value: bounces.postscale.io

This record lets Postscale receive delayed delivery status notifications without handling normal incoming mail for your domain. When it is verified, Postscale can use an envelope sender like b-<token>@ps-bounces.yourcompany.com, parse delayed DSNs, and correlate them back to the original outbound message.

Not a root MX record

The return-path CNAME is only for bounce handling. Do not replace your domain's root MX records with it.

Receiving Configuration (Inbound)

To receive and process incoming emails with Postscale, configure MX records:

MX Records

Add this MX record to route incoming emails to Postscale:

Type: MX
Host: @
Priority: 10
Value: mx.postscale.io

Subdomain for Inbound

For inbound-only processing, you can use a subdomain:

Type: MX
Host: inbound
Priority: 10
Value: mx.postscale.io

This routes anything@inbound.yourcompany.com to Postscale while keeping your main domain's email unchanged.

This is the pattern to use for any dedicated inbound processing subdomain. Bounce handling for outbound mail uses the return-path CNAME described above, not an MX record on your root domain.

Verification

After adding DNS records, verify your domain:

  1. Return to the Domains section in the dashboard
  2. Click Verify Domain next to your domain
  3. Postscale will check your DNS records
DNS propagation

DNS changes can take up to 48 hours to propagate, though most propagate within a few minutes.

Verification Status

StatusMeaning
PendingWaiting for DNS record verification
VerifiedAll records required for the domain type are configured correctly
PartialSome records verified, others pending
FailedRecords not found or incorrect

Troubleshooting

SPF Record Not Found

  • Ensure the TXT record is on the root domain (@)
  • Check for typos in include:_spf.postscale.io
  • Wait for DNS propagation and try again

DKIM Verification Failed

  • Verify the host is exactly postscale._domainkey
  • Check that the full value is copied without truncation
  • Some DNS providers require the value without quotes

MX Records Not Working

  • Ensure priority values are set (10 and 20)
  • Check that no other MX records conflict
  • Verify the records are on the correct host (@ for root, subdomain for subdomain)

Multiple Domains

You can add multiple domains to your Postscale account. Each domain requires its own DNS configuration but shares your API key and settings.

Common multi-domain setups:

  • Main domain + subdomain for different email types
  • Multiple brands under one account
  • Separate domains for transactional vs marketing (if using marketing features)