CyberPanel email setup means three things: a mail domain that Postfix and Dovecot will accept mail for, DNS records that tell the world where that mail lives, and a mailbox you can actually log in to. This guide walks through all three on a Linux VPS, then shows you how to open SnappyMail, the webmail client that ships with CyberPanel, and how to point Outlook or a phone at the same mailbox.
The result is a working deploy@example.com address that sends and receives, with DKIM signing so your messages are less likely to land in spam.
Before you start
You need:
- A Linux VPS with CyberPanel already installed and reachable at
https://203.0.113.10:8090. - Root or admin access to CyberPanel, and SSH access to the server.
- A domain whose DNS you control — either at your registrar or through CyberPanel's own DNS if the domain uses your server's nameservers.
- Outbound TCP port 25 open. Many providers block it by default; check with your host before you spend time debugging mail that never leaves the server.
- A reverse DNS (PTR) record for your server IP that matches your mail hostname. Ask your provider to set it if you cannot.
Warning: If you change DNS records for a domain that already receives mail, you can interrupt delivery. Check the existing MX records before you overwrite anything.
Create the mail domain
CyberPanel ties mail to a website entry, so create the site first if it does not exist.
- Log in to the CyberPanel dashboard at
https://203.0.113.10:8090. - Go to Websites → Create Website, enter
example.com, choose a package, and submit. - Go to Mail → Create Mail Domain, select
example.comfrom the list, and click Create Mail Domain.
CyberPanel now writes the domain into the Postfix virtual mailbox maps and creates the Dovecot mail directory under /home/vmail/.
Next, issue a certificate for the mail hostname so webmail and IMAP run over TLS without browser warnings:
- Go to SSL → Manage SSL.
- Pick
mail.example.comfrom the dropdown. - Click Issue SSL.
Tip: The mail hostname must resolve to your server before the certificate can be issued. Add the A record first, then wait for propagation.
Add MX, SPF, DKIM and DMARC records
Add these records at your DNS provider. Replace 203.0.113.10 with your server IP.
mail.example.com. A 203.0.113.10
example.com. MX 10 mail.example.com.
example.com. TXT "v=spf1 mx a ip4:203.0.113.10 ~all"
_dmarc.example.com. TXT "v=DMARC1; p=none; rua=mailto:postmaster@example.com"Now generate the DKIM key inside CyberPanel:
- Go to Email → DKIM Manager.
- Select
example.comand click Generate DKIM. - Copy the selector name and the TXT value the panel shows you.
Publish that TXT record at your DNS provider. The host is usually <selector>._domainkey.example.com — use exactly the selector CyberPanel displays, because the selector name is part of the signature lookup.
default._domainkey.example.com. TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSq..."Note: DNS changes can take anywhere from a few minutes to a few hours to propagate. Verify before you assume something is broken.
Create email accounts
- Go to Mail → Create Email.
- Select the domain
example.com. - Enter the username
deploy, a strong password, and a mailbox quota. - Submit, then repeat for any other addresses you need.
The full address is deploy@example.com. CyberPanel stores the mailbox under /home/vmail/example.com/deploy/ if you need to inspect it over SSH.
Sign in to SnappyMail
SnappyMail is the webmail front end bundled with CyberPanel. Open it in one of two ways:
https://mail.example.com/snappymailonce the mail domain certificate is issued.https://203.0.113.10:8090/snappymailfrom the panel hostname.
Log in with the full address deploy@example.com and the mailbox password. The first login creates the SnappyMail account profile; you can change the display name and signature under Settings.
For a desktop client or phone, use these settings:
IMAP server: mail.example.com
IMAP port: 993 (SSL/TLS)
SMTP server: mail.example.com
SMTP port: 587 (STARTTLS)
Username: deploy@example.com
Password: your mailbox passwordTip: If your client offers "automatic configuration", skip it and enter the values manually — it avoids the client guessing port 143 or 25.
Check it works
From SSH, confirm the records are live:
dig +short MX example.com
dig +short TXT default._domainkey.example.com
dig +short TXT example.comYou should see your mail hostname, the DKIM public key, and the SPF string. Then check that the mail ports answer:
openssl s_client -connect mail.example.com:993 -quietA TLS handshake without an error means Dovecot is listening.
Finally, send a test message from SnappyMail to an address you can check elsewhere, and reply to it. Open the received message headers and look for Authentication-Results containing dkim=pass and spf=pass. That is the real confirmation that CyberPanel email setup is complete.
Troubleshooting
- SnappyMail says the login failed. The mailbox may not exist yet, or you typed the short username instead of the full address. Recreate the account under Mail → Create Email and log in as
deploy@example.com. - Mail sends but lands in spam. Usually a missing or mismatched DKIM record. Compare the selector in the panel with the DNS hostname character by character, and confirm your PTR record matches
mail.example.com. - Messages never arrive at all. Check port 25 outbound with your provider, then read
/var/log/mail.logforConnection refusedortimed outlines. - Webmail shows a certificate warning. The certificate was issued for the panel hostname, not
mail.example.com. Add the A record, wait for propagation, and re-issue SSL for the mail domain. dkim=temperrorin headers. The DKIM TXT record is missing or split incorrectly. Some DNS panels break long values into chunks — paste the whole string as one record.
Next steps
- Understand the services behind the panel in Postfix and Dovecot mail server setup on a Linux VPS.
- Compare authentication records with Set up SPF, DKIM and DMARC in cPanel Email Deliverability.
- Get alerted when the server blocks an abusive sender with Fail2ban ban notifications.
