PanelicaDocs
panelica.com
Docs / Email / Email Settings

Email Settings

Panelica 1.0.375 Verified 2026-07-23 Email

Email Settings is the server-wide control room for the whole mail stack, in six tabs: Mail Delivery, Protection, Webmail, SSL Certificate, Postfix and Authentication. Everything here writes real Postfix, Dovecot, SpamAssassin and OpenDKIM configuration; the panel validates before applying and rolls back what fails validation.

Panel locationEmail → Mail Settingshttps://YOUR-SERVER-IP:8443/email-settings (ROOT and ADMIN only)
 Email Settings
Mail Delivery Protection Webmail SSL Certificate Postfix Authentication
SMTP Relay Recommended
Send through Gmail, SendGrid, SES...
Local Postfix
Direct delivery from this server

Mail Delivery: local or relay

Outgoing mail can leave the server two ways. Local Postfix delivers directly from your IP: full control, but your inbox rate depends on that IP's reputation, reverse DNS and your provider not blocking port 25. SMTP Relay hands outgoing mail to a provider: eight presets ship ready (Gmail, SendGrid, Mailgun, Amazon SES, Brevo, Mailjet, Elastic Email and custom SMTP), each pre-filled with the right host, port and encryption and linked to the provider's page for app passwords or API keys.

Saved relays are tested with a real SMTP handshake and login before use, and the last test result shows on the row. The first relay becomes the default automatically; switch defaults, enable/disable, retest or delete from the table.

Behind the scenes: the default enabled relay is written into Postfix as a smarthost: relayhost plus SASL credentials compiled into a root-only password map with postmap, TLS mode matched to the relay's port, then postfix check before reload. Disabling or deleting the relay strips the block and the credential map cleanly. Roundcube's outgoing SMTP follows the same choice automatically, so webmail users send through the relay too. Relay passwords are stored AES-encrypted in the panel database.
When to relay: if your host blocks outbound port 25 (most clouds do by default), or your mail lands in spam despite correct DKIM/SPF/DMARC, a relay is the practical answer: reputation becomes the provider's problem. Gmail's preset with an app password is the fastest start for small servers.

Protection: scoring, scanning and milters

Antispam toggles SpamAssassin content scanning, with a server-wide score threshold (lower is more aggressive; 5 is the classic default) and an action for mail that crosses it: file it into the Junk folder, tag it and deliver, or discard. The card shows the honest runtime state: if SpamAssassin is still installing, you see that, including any installation error.

Antivirus covers ClamAV scanning with its own action. Advanced Protection holds three independent switches, each with a live Active/Installing/Pending badge: OpenDMARC (verifies DMARC on inbound mail), Postscreen (a pre-filter that cheaply drops botnet connections using RBL scoring before they reach the SMTP daemon; enabling it shows a caution note), and DANE (DNSSEC-based TLS verification for outbound mail).

Behind the scenes, the honest version: SpamAssassin is installed from your distribution's packages on demand the first time you enable antispam, in the background; until the runtime actually exists the panel refuses to wire a mail filter that would bounce your mail, and self-heals the wiring afterwards. Scanning runs as a Postfix content filter through spamc on the inbound receiving service only; the spam action is enforced in Dovecot Sieve at delivery (a discard rule never generates backscatter bounces). Bayes learning is fed nightly from every mailbox's Junk (spam) and Sent (ham) folders. OpenDMARC runs as a milter that only marks results in headers for SpamAssassin to score, never rejecting outright, so a strict sender policy cannot black-hole legitimate mail. DANE activates only when the system resolver is a local validating one; otherwise Postfix stays on opportunistic TLS rather than pretending. Every toggle re-checks its true state after saving, because these are asynchronous installations, not instant flags.

Webmail and default quotas

The Webmail tab controls Roundcube: on/off, its URL path under the panel port, session lifetime and the maximum attachment size. The same tab sets the default mailbox quota offered when creating accounts, a default per-domain quota, and the usage percentage at which quota warnings fire. Details on how webmail is served: Webmail.

SSL Certificate: one table, all domains

Mail clients refuse self-signed certificates, so every mail-hosting domain needs a certificate covering mail.<domain>. This tab shows one table of them all: status (active, pending, renewing, failed with the actual error, or missing), expiry, and per-row Issue/Renew. Auto-Issue Server Cert covers the server's own hostname, and Issue All Missing sweeps the rest. A pencil icon edits a domain's mail hostname (with a confirmation warning, since reissue and DNS changes follow), and a card at the bottom accepts a custom PEM certificate and key if you bring your own.

Behind the scenes: certificates come from Let's Encrypt, choosing the best strategy per domain: DNS-01 through Cloudflare when a matching API token is on file, otherwise HTTP-01 over the panel's webroot. Each certificate carries four names: mail., webmail., autoconfig. and autodiscover.. Issued certs are wired into SNI maps for both Postfix and Dovecot, so one server presents each domain's own certificate on 993/995/465/587; the classic single server certificate remains as fallback, and the primary hostname's certificate is mirrored into it. Failures back off progressively (5 minutes up to 24 hours) instead of hammering Let's Encrypt, and a scheduler keeps seeding and retrying pending domains. Newly added mail domains are picked up by the same scheduler automatically, typically within a day; use Issue All Missing to do it immediately.

Postfix: the tuning tab

Grouped cards write the corresponding main.cf/master.cf settings: Authentication & Access (SMTP AUTH, external relaying only unlockable when AUTH is on, trusted networks), Network Ports (25/587/465 individually toggleable), Encryption (TLS mode and minimum TLS version), DKIM signing on/off, Rate limiting for outgoing mail, Message limits (size, SMTP timeout), Queue settings (bounce and maximum queue lifetimes, per-destination rate delay), and System Emails (the From identity the panel itself uses). A test-send card at the end mails any address you give it, which is the quickest end-to-end check after changing anything.

Guardrails you get for free: every apply backs up main.cf, validates with postfix check, restores the backup if validation fails, and only then reloads. Port toggles edit master.cf service blocks (postscreen-aware, so toggling port 25 does not create duplicate listeners), and a missing SMTPS block is self-healed rather than assumed. Trusted networks always retain localhost and the server's own IP so the panel cannot lock itself out of its own mail system.

Authentication: DKIM, SPF and DMARC

The last tab is your deliverability cockpit, in three sub-tabs with a per-domain status table on top. That table is refreshingly honest about DKIM: green only when a key exists and OpenDKIM is actually signing, amber when DNS carries a record but the mail server is not signing with it (mail goes out unsigned; regenerate to fix), and it flags duplicate SPF records, which invalidate SPF entirely.

DKIM: Generate creates a 2048-bit key for the domain and shows the TXT record, alongside an auto-publish report: the panel writes the record into local BIND and Cloudflare (when the domain is Cloudflare-managed) on its own, reporting created/updated/unchanged/skipped per provider, with copy-paste as the manual fallback. SPF: generates v=spf1 with your server's IP and your chosen policy (softfail ~all is the sensible default, hardfail -all the strict one). DMARC: generates _dmarc with policy none/quarantine/reject and an optional aggregate-report address.

Behind the scenes: DKIM keys are generated with opendkim-genkey into the panel's isolated OpenDKIM tree, wired into KeyTable/SigningTable, and OpenDKIM signs as a Postfix milter on both inbound submission and locally generated mail. SPF/DMARC publishing is an atomic dual-write to BIND and Cloudflare with rollback if one side fails. Record deletion from these tables removes the DNS record.
The deliverability trio in one breath: SPF says which servers may send for the domain, DKIM cryptographically signs each message, DMARC tells receivers what to do when the first two fail and where to send reports. Set all three, start DMARC at quarantine, and check the status table turns fully green before trusting the domain with important mail.

Access

ROOT and ADMIN only (other roles are redirected to the dashboard), behind the email license feature. There is a real difference between the two even here: saving the general mail settings is ROOT-only, so an ADMIN can open every tab and read the configuration but the panel refuses an ADMIN's save of server-wide settings; SMTP relays are the exception an ADMIN can manage. Unsaved changes show a banner until saved; saving applies everything in one pass, and the asynchronous protection toggles re-verify their real state afterwards. For the full model see roles and permissions.

Panelica Documentation · Written and verified against the live panel. · Last verified 2026-07-23 on Panelica 1.0.375