System mail
The server generates mail for you, its administrator: the output of
root's cron jobs, the mail system's own alarms and MAILER-DAEMON
reports, a copy of every abuse report sent to a hosted domain, and the
panel's notices. All of it lands in one mailbox on the server, and
--admin-email is what gets it to a person.
Your mailbox on the server
Mail addressed to root, to root@<server hostname>, or to
postmaster@ and abuse@ on any of the server's own hostnames is
delivered into the server's own maildir,
/var/lib/elpan/system/mail/Maildir. That mailbox has no login; the
maildir is readable as root, and nothing else opens it.
So the server forwards it. --admin-email names the addresses:
elpanctl server:init <hostname> [email protected]
elpanctl server:edit [email protected] [email protected]
elpanctl server:edit --admin-email=
The option is repeatable; passed once with an empty value, it clears the
list. The forward is a Sieve script the panel writes into the mailbox, one
redirect :copy per address: the local copy is always kept, so a
destination that bounces or is removed later loses nothing. The script is
rewritten on every server sync.
With no address, system mail accumulates unread in the maildir and the
panel warns you nowhere. Set at least one at server:init, and check it
when the admin users change.
A destination can't have a quoted local part ("john doe"@example.com):
it is written into configuration, and the panel refuses it.
What arrives there
| Source | |
|---|---|
root's cron output and anything else addressed to a bare local part | The host. |
MAILER-DAEMON reports and the mail system's resource and software alarms | The outgoing mail system. Its reports leave with a From on the server's own name, so a copy that reaches an outside address passes authentication. |
A copy of every abuse@<domain> report | Each hosted domain, see below. |
| A rule-started Outgoing Mail Quarantine, and each would-be quarantine of a rule in Observe mode | The panel. |
| An account's request for help signing in (Sign-in Help Requests) | The panel. |
| The digest of a finished mass upgrade (Upgrade Runs) | The panel. |
The panel's notices are plain text and carry no branding: they land beside cron output and alarms, and read like them.
postmaster@ and abuse@
The standards need both addresses on every domain. The server answers them without anything to set up, per domain:
| Address | Delivered to |
|---|---|
postmaster@<hosted domain> | The owning account's system mailbox. |
abuse@<hosted domain> | The owning account's system mailbox, and abuse@<server hostname>, i.e. you. |
postmaster@ and abuse@ on the server's own hostnames | Your mailbox above. |
Every abuse report therefore reaches both the party who can act on it and the party who answers for the server.
postmaster and abuse are reserved names: no account can create a
mailbox, forwarder or any other address with them, so the routing can't be
overridden or lost.
Each account has one mailbox of its own, <account>@<server hostname>,
for its domains' postmaster@ and abuse@ and its cron output. It has no
password; the account holder reads it from their panel, and it keeps mail
for 30 days (account docs).
It isn't reachable from outside: the server hostname accepts only
postmaster@ and abuse@ from the internet and refuses every other
address, so nobody can mail or enumerate the accounts.
What is not here
- An account's cron output goes to that account's system mailbox, not to yours.
- A readable
root@<server hostname>mailbox in the admin app doesn't exist yet; the forward is the way to read the mail.