c839f68c57
test / test (push) Has been cancelled
Replace fixed 5 s hx-trigger polling with data-poll markers and panel.js scheduling: 5 s while active, 30 s when idle, none when tab is hidden. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> Co-authored-by: Cursor <cursoragent@cursor.com>
63 lines
2.4 KiB
HTML
63 lines
2.4 KiB
HTML
{{define "content"}}
|
|
<h1>Server status</h1>
|
|
|
|
{{if .Flash}}<div class="flash">{{.Flash}}</div>{{end}}
|
|
|
|
{{template "status_body" .}}
|
|
|
|
<div class="card" id="hostname">
|
|
<h2>Hostname and reverse DNS <span class="st st-{{.PTR.Status}}">{{.PTR.Status}}</span></h2>
|
|
<p class="muted">Receiving servers check that the name this server announces
|
|
resolves to its address <em>and</em> that the address resolves back to the same
|
|
name (forward-confirmed reverse DNS). A missing or mismatched reverse record is
|
|
the most common reason self-hosted mail is rejected or scored as spam. The
|
|
reverse record is set at the hosting provider, not in the domain's DNS zone.</p>
|
|
|
|
<label>Server hostname</label>
|
|
<span class="code">{{if .Hostname}}{{.Hostname}}{{else}}(SELFPOST_HOSTNAME is not set){{end}}</span>
|
|
|
|
{{if .PTR.Records}}
|
|
<label>Forward and reverse lookup</label>
|
|
<span class="code">{{range .PTR.Records}}{{.}}
|
|
{{end}}</span>
|
|
{{end}}
|
|
|
|
<p class="{{if eq .PTR.Status "ok"}}muted{{else}}error{{end}}">{{.PTR.Detail}}</p>
|
|
|
|
<form class="inline" method="post" action="/status/recheck">
|
|
<button type="submit">Re-check DNS</button>
|
|
</form>
|
|
</div>
|
|
|
|
<div class="card" id="configuration">
|
|
<h2>Configuration</h2>
|
|
<p class="muted">Regenerates the OpenDKIM and Postfix configuration from the
|
|
database and reloads both daemons. Use it if you edited the files by hand,
|
|
restored a backup, or the running configuration looks out of step with the
|
|
domain and application lists. It does not touch the mail queue or the TLS
|
|
certificate, and it is safe to run at any time.</p>
|
|
<form class="inline" method="post" action="/reload">
|
|
<button type="submit">Reload configuration</button>
|
|
</form>
|
|
</div>
|
|
{{end}}
|
|
|
|
{{/* The status page's section index, shown in the navigation column (see the
|
|
"sections" block in layout.html). The first six cards are the ones the
|
|
polling fragment replaces on a timer; their ids are part of
|
|
status_body.html and do not change with the reading, so the links here hold
|
|
across a refresh. */}}
|
|
{{define "sections"}}
|
|
<div class="sections">
|
|
<p class="sections-title">On this page</p>
|
|
<a href="#overall">Overall</a>
|
|
<a href="#processes">Processes</a>
|
|
<a href="#machine">Machine</a>
|
|
<a href="#queue">Mail queue</a>
|
|
<a href="#certificate">TLS certificate</a>
|
|
<a href="#sockets">Milter sockets</a>
|
|
<a href="#hostname">Hostname and reverse DNS</a>
|
|
<a href="#configuration">Configuration</a>
|
|
</div>
|
|
{{end}}
|