Can't open the BillionMail dashboard? Login URL, ports and firewall fixes
BillionMail installed without errors, but the browser shows "This site can't be reached", a blank page, or a login that won't accept your password. Work through these checks in order; most people are back in within five minutes.
First, find your BillionMail folder and containers. Most commands below run from the BillionMail folder:The second command lists the containers, with names like .
Check 1: Are you using the right address?
The dashboard address has three parts: the host, the HTTPS port and a secret path (the "safe entrance"):
See your values in the BillionMail folder:
If the folder contains (run ), it can print the full address and login details for you:
On aaPanel installs the ports are often not 80 and 443, because aaPanel's own web server may already use them. Opening without the port and path is the most common mistake.
Check 2: Is the port open?
A timeout means a firewall blocks it. "Connection refused" means nothing listens there (see Check 4).
Check 3: Cloudflare
If your domain uses Cloudflare with the orange cloud, the proxy only passes a few HTTPS ports (443, 2053, 2083, 2087, 2096 and 8443). Any other custom port simply won't load through it. Set the mail host record to DNS only (grey cloud). Mail records must be DNS only anyway.
Check 4: Are the containers running?
Every container should say Up. If one says Exited or Restarting, look at its log:
Restart everything from the BillionMail folder:
Once you're back in, Settings > Service shows the same containers with Restart buttons, handy for next time.
![[Image: attachment.php?aid=425]](https://adminsforum.com/attachment.php?aid=425)
Check 5: Port conflicts
If the container won't start, another program may already use its port:
If or holds the port, change BillionMail's port in ( / ) to a free one, run , and open the new port in the firewall.
Check 6: Browser warning about the certificate
Until you apply a Let's Encrypt certificate, BillionMail uses a self-signed one, so the browser warns you. That's expected on a fresh install: click Advanced > Proceed, then fix it properly with BillionMail SSL and hostname fix.
Check 7: Login page loads but you can't get in
Still stuck? Post in this section with the output of Check 1 (hide your domain if you like), Check 4, and what the browser shows.
Sources: BillionMail on GitHub · Cloudflare: network ports
More BillionMail troubleshooting
Applies to BillionMail 4.9 installed through aaPanel or the install script, October 2026.
BillionMail installed without errors, but the browser shows "This site can't be reached", a blank page, or a login that won't accept your password. Work through these checks in order; most people are back in within five minutes.
First, find your BillionMail folder and containers. Most commands below run from the BillionMail folder:
- aaPanel Docker install: (the last part is random)Code:
/www/dk_project/dk_app/billionmail/billionmail_XXXX
- Script install: usually Code:
/opt/BillionMail
Code:
ls -d /www/dk_project/dk_app/billionmail/billionmail_* /opt/BillionMail 2>/dev/null
docker ps --format "{{.Names}}" | grep -i billionmailCode:
billionmail_xxxx-core-billionmail-1Check 1: Are you using the right address?
The dashboard address has three parts: the host, the HTTPS port and a secret path (the "safe entrance"):
Code:
https://your-host:HTTPS_PORT/SAFE_PATHCode:
grep -E '^HTTPS_PORT|^HTTP_PORT|^SafePath' .envCode:
bm.shCode:
lsCode:
bash bm.sh defaultCode:
https://your-host/Check 2: Is the port open?
- In aaPanel, open Security and add the HTTPS port (and HTTP port) if it's missing.
- Check your provider's cloud firewall too; it sits in front of aaPanel's.
Code:
curl -kI https://your-host:HTTPS_PORT/Check 3: Cloudflare
If your domain uses Cloudflare with the orange cloud, the proxy only passes a few HTTPS ports (443, 2053, 2083, 2087, 2096 and 8443). Any other custom port simply won't load through it. Set the mail host record to DNS only (grey cloud). Mail records must be DNS only anyway.
Check 4: Are the containers running?
Code:
docker ps -a --format "table {{.Names}}\t{{.Status}}" | grep -i billionmailCode:
docker logs --tail 50 CONTAINER_NAMECode:
docker compose restartCheck 5: Port conflicts
If the
Code:
coreCode:
ss -tlnp | grep -E ':80 |:443 |:8080 'Code:
nginxCode:
httpdCode:
.envCode:
HTTP_PORTCode:
HTTPS_PORTCode:
docker compose up -dCheck 6: Browser warning about the certificate
Until you apply a Let's Encrypt certificate, BillionMail uses a self-signed one, so the browser warns you. That's expected on a fresh install: click Advanced > Proceed, then fix it properly with BillionMail SSL and hostname fix.
Check 7: Login page loads but you can't get in
- Forgot the password or username: in the BillionMail folder, orCode:
bash bm.sh change-password(if your folder has bm.sh).Code:bash bm.sh change-user
- Still using the default login? A fresh install from the official script starts with a well-known default username and password. Change both, and the safe entrance path, under Settings > Common Settings > Security Settings straight away.
- Blocked after too many attempts: BillionMail uses fail2ban to block repeated failed logins. Wait, or try from another connection. Check with .Code:
tail -n 30 logs/fail2ban/fail2ban.log
- IP whitelist turned on and your IP changed: turns the console IP whitelist off again.Code:
bash bm.sh cancel-ip-limit
Still stuck? Post in this section with the output of Check 1 (hide your domain if you like), Check 4, and what the browser shows.
Sources: BillionMail on GitHub · Cloudflare: network ports
More BillionMail troubleshooting
- Port 25 blocked: emails not sending
- SSL certificate won't apply
- DKIM fails although the record exists
- Emails stuck in the send queue
- Webmail (Roundcube) problems
- Emails going to spam
- Update safely and roll back
Applies to BillionMail 4.9 installed through aaPanel or the install script, October 2026.

