Mail queue warn
3 deferred, 0 bounce-hold. Oldest 18 minutes.
View queue3 messages deferred — first retry in about 4 minutes. Everything else is up.
3 deferred, 0 bounce-hold. Oldest 18 minutes.
View queueAccepting on port 25 for 1 domain. Last forward 2 minutes ago.
Inbound domainsModule off (INBOUND_RELAY_ENABLE=false). The outbound path is unchanged.
Let’s Encrypt, 78 days left. Mounted for port 465.
SelfPost 1.2.3 · © Mixeme · License (AGPL-3.0)
© Mixeme · License (AGPL-3.0)
This one-time link creates the single panel administrator. After you submit, the link stops working for good.
| Domain | DNS | Selector | Apps | |
|---|---|---|---|---|
| example.com | ok | 2 | Delete | |
| alerts.example.com | warn | 1 | Delete |
The DNS badge is the worst of DKIM, SPF and DMARC. Open a domain for details.
Shown once only and not stored. Copy it now.
p=none; rua points at SelfPost ingest.
Not required (rua= is on a domain SelfPost accepts).
DKIM
SPF
Open DMARC reports for this domain.
newsletter
Any address of the domain — *@example.com
Address mode
Trusted-IP override active
billing
Fixed list — invoices@example.com
DMARC reports
Level-2 rate limit active
Secret file — transfer securely, or encrypt as .spde.
You are about to delete example.com. This will:
This cannot be undone.
| Time | From | To | Subject | Status | |
|---|---|---|---|---|---|
| 2026-08-15 20:14:02 | billing@example.com | ada@example.net | Invoice #4412 | deferred | Details |
| 2026-08-15 20:11:40 | news@example.com | list-bounces@example.net | August digest | delivered | Details |
| 2026-08-15 19:02:11 | alerts@alerts.example.com | noreply@blocked.example | Disk 92% on web-3 | bounced | Details |
| 2026-08-15 18:44:09 | news@example.com | sam@example.org | August digest | delivered | Details |
Page 1 of 4 · Older →
billing@example.com → ada@example.net deferred
← Back to deliveries2026-08-15 20:14:02 UTC
accepted Received by the relay
SASL login billing, queued as 4C3A1E2F1A.
2026-08-15 20:14:08 UTC
deferred Receiving MX asked to try later
Postfix retries: first after 5 minutes, then with increasing gaps up to 1 hour 7 minutes, for up to 5 days. There is no fixed attempt count — a deferred message stays in the queue until it is delivered or that lifetime runs out.
not yet
delivery Waiting on the next retry
| Time | Message |
|---|---|
| 20:14:02 | postfix/smtpd[221]: 4C3A1E2F1A: client=203.0.113.40, sasl_username=billing |
| 20:14:02 | postfix/cleanup[224]: 4C3A1E2F1A: message-id=<4412@example.com> |
| 20:14:08 | postfix/smtp[230]: 4C3A1E2F1A: to=<ada@example.net>, relay=mx.example.net[198.51.100.20]:25, delay=6, status=deferred (450 4.2.1 mailbox busy) |
20:14:08
status=deferred (450 4.2.1 mailbox busy)20:14:02
client=203.0.113.40, sasl_username=billingThis Postfix’s policy, read once at panel start. There is no maximum attempt count — only time.
| Queue id | Age | From | To | Size |
|---|---|---|---|---|
| 4C3A1E2F1A | 18 min | billing@example.com | ada@example.net | 12 KiB |
| 4C3A1E3010 | 11 min | news@example.com | pat@slow.example | 48 KiB |
| 4C3A1E3102 | 4 min | billing@example.com | ada@example.net | 9 KiB |
Download a full backup of all persistent state. Restore into a container of the same SelfPost version. TLS certificates and the mail queue are not included. The file is a secret.
Keep this password: without it the file cannot be opened.
Plain .json or encrypted .spde.
You are about to delete the panel user ops-alerts. A signed-in session for this user stops working immediately.
These are the credentials for this control panel only. Applications keep their own logins.
Default rua= for every sending domain. When ingest is on, this can be an address SelfPost accepts.
DMARC reports in the panel.
Level 1 is set in Compose. Domain and application ceilings live on each domain’s page.
Backup-MX / forwarder. Accepts on port 25 only for listed domains; unknown recipients are rejected at RCPT. Off by default in Compose.
| Domain | Upstream | Recipients | TLS | |
|---|---|---|---|---|
| lists.example.com | 10.0.0.8:25 | 12 listed | required | Edit |
Where accepted mail is handed off. Not a mailbox.
Unlike outbound, inbound needs an MX pointing at this server.
Unknown recipients are rejected at RCPT so this relay does not generate backscatter. One address per line; empty means reject all until listed.
Stops accepting mail for this domain. Does not touch outbound sending domains.
Aggregate reports SelfPost accepted for rua=. Forensic (ruf=) is out of scope.
Last report 6 hours ago. 14 kept, 0 parse failures this week.
98% aligned last 7 days. Tightening p= looks reasonable.
A third-party sender is not in SPF/DKIM. See sources.
| Domain | Source | Pass | Fail | Disposition |
|---|---|---|---|---|
| example.com | 203.0.113.10 (this relay) | 412 | 2 | none |
| example.com | google.com / 66.102.0.0/20 | 0 | 6 | none |
| alerts.example.com | 203.0.113.10 (this relay) | 88 | 0 | none |
| alerts.example.com | unknown / 198.51.100.80 | 0 | 19 | none |
Short operator notes inside the panel — not a second copy of the full guide. Seeded from the Status blurbs that left the cards.
The same texts open in the drawer from a card’s «?» — so a Status page can stay dense.
CPU and memory are the container’s own readings, not the host’s spare capacity. Network is a short window, not a daily total. High CPU with an empty queue usually means something else on the box — not SelfPost “being slow to send”.
Port 465 presents the certificate the reverse proxy (or the image) mounted. The panel does not issue certificates. A warn here is “expires soon”; an error is “missing or unreadable”, and clients will refuse submission.
Forward-confirmed reverse DNS: the A/AAAA for SELFPOST_HOSTNAME must reverse to that same name. PTR is set at the hosting provider, not in this panel. Receiving networks use this pair as a cheap reputation check.