Domain Setup
Domain Setup
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
- Log in to the Postscale Dashboard
- Navigate to Domains → Add Domain
- Enter your domain name (e.g.,
yourcompany.com) - Click Add Domain
Postscale will generate the DNS records you need to add.
DNS Records Overview
| Record Type | Purpose |
|---|---|
| Ownership TXT | Proves you control the domain |
| SPF | Authorizes Postscale to send emails on your behalf |
| DKIM | Adds cryptographic signatures to verify email authenticity |
| DMARC | Tells receiving servers how to handle authentication failures |
| MX | Routes incoming emails to Postscale (required only for inbound-capable domains) |
| Return-Path CNAME | Routes 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 type | Postscale use | Required DNS | MX to Postscale? |
|---|---|---|---|
outbound | Send only | Ownership TXT, SPF, DKIM | No |
inbound | Receive only | Ownership TXT, MX | Yes, for the host receiving mail |
both | Send and receive | Ownership TXT, MX, SPF, DKIM | Yes |
alias | Masked or forwarding aliases | Ownership TXT, MX | Yes |
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 actionp=quarantine— Send failures to spamp=reject— Reject failures outright
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.
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:
- Return to the Domains section in the dashboard
- Click Verify Domain next to your domain
- Postscale will check your DNS records
DNS changes can take up to 48 hours to propagate, though most propagate within a few minutes.
Verification Status
| Status | Meaning |
|---|---|
| Pending | Waiting for DNS record verification |
| Verified | All records required for the domain type are configured correctly |
| Partial | Some records verified, others pending |
| Failed | Records 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)