{{/* Wide so the .split pairs fill the column rather than the 48rem reading measure (same pattern as Status). */}} {{define "wide"}}wide{{end}} {{define "content"}}

{{.Domain.Name}}

{{template "back_link" (back "/domains" "All domains")}} {{if .Flash}}
{{.Flash}}
{{end}} {{if .RateLimitErr}}
{{.RateLimitErr}}
{{end}} {{if .NewCred}}

New application password

Shown once only and not stored. Copy it now — if it is lost, regenerate a new one.

{{.NewCred.Login}}
{{.NewCred.Password}}
{{end}}

DKIM DNS record

Publish this TXT for {{.Domain.Name}}. It is not a secret.

{{.Record.Name}}
TXT
{{.Record.Value}}

Signed with selector {{.Domain.DKIMSelector}}.

DNS status {{.DNS.Overall}}

Cached a few minutes — use Re-check after publishing.

{{.DNS.DKIM.Detail}}

{{if .DNS.DKIM.Records}}{{range .DNS.DKIM.Records}}{{.}} {{end}}{{end}}

{{.DNS.SPF.Detail}}

{{if .DNS.SPF.Records}}{{range .DNS.SPF.Records}}{{.}} {{end}}{{end}}

Shallow check: literal address only, no include: / redirect=.

{{.DNS.DMARC.Detail}}

{{if .DNS.DMARC.Records}}{{range .DNS.DMARC.Records}}{{.}} {{end}}{{end}} {{if .DNS.DMARCReportAuth.Status}}

{{.DNS.DMARCReportAuth.Detail}}

{{if .DNS.DMARCReportAuth.Records}}{{range .DNS.DMARCReportAuth.Records}}{{.}} {{end}}{{end}} {{end}}

SPF record

Suggested TXT. If the domain already has SPF, merge this server's mechanism into it — do not add a second record.

{{.Domain.Name}}
{{.SPFExample}}

DMARC record

Policy TXT. SelfPost is send-only — omit rua= or point it at a mailbox elsewhere (Settings default or custom below).

{{.DMARCName}}
{{.DMARCExample}}
{{if .SameDomainRUA}}

The report address is on this sending domain. SelfPost does not receive inbound mail — use a mailbox elsewhere or wait for in-panel report reception in a future release.

{{end}} {{if .NeedsReportAuth}}
{{.ReportAuthName}}
{{.ReportAuthValue}}
{{end}}

p=none does not affect delivery. Tighten to p=quarantine then p=reject once reports look clean.

Sending server settings

Same for every domain. Authenticate with an application login from below.

{{.Hostname}}
465 — SSL/TLS (implicit){{if .SubmissionEnabled}} 587 — STARTTLS (submission){{end}}

Auth required on every port. The password is shown once at create or regenerate.

{{/* Create form beside settings, mirroring "Add a sending domain" above the domains list. */}}

Add an application

{{if .Error}}

{{.Error}}

{{end}}

Password shown once. Login unique across domains; letters, digits, '.', '-' and '_'.

Applications

SASL logins for this domain — wildcard (*@domain) or a fixed address list.

{{if .Apps}} {{else}}

No applications yet. Add one above to get started.

{{end}}

Sending rate limit (domain)

Optional level-2 cap across this domain's applications from the listed client IPs. Empty IP list = inactive (level-1 only).

Status: {{if .DomainHasRL}}active{{else}}inactive (level-1 only){{end}}.

{{if .DomainHasRL}}
{{end}}

Export domain

DKIM key, selector and application passwords for another SelfPost instance. DNS stays the same on import.

Secret file — transfer securely, or encrypt below as .spde.

{{if .ExportErr}}

{{.ExportErr}}

{{end}}
{{template "encryptfields" .}}

Danger zone

Deletes the DKIM key and every application on this domain.

Delete domain
{{end}} {{/* Section index in the navigation column (layout.html). The freshly generated password is only listed while it is on the page. */}} {{define "sections"}}

On this page

{{if .NewCred}}New application password{{end}} DKIM DNS record DNS status SPF record DMARC record Sending server settings Add an application Applications Sending rate limit Export domain Danger zone
{{end}}