10 - Email not working after CyberPanel Upgrade?

Note: This article is a work in process, will keep adding more information.

If you have recently upgraded CyberPanel and your email stopped working then follow this guide to debug and possibly fix your email system.

We recommend to upgrade your CyberPanel via CyberPanel cloud to avoid any such issue in the future:

How to upgrade your CyberPanel using CyberPanel Cloud - Knowledge Base / 1 - Install/Upgrade - CyberPanel Community


Step 1: Check and Fix Postfix Service

First thing to do is to check weather postfix services is running:

systemctl status postfix

Run the command above to check if postfix is running, if it is, then you should see something like:

postfix.service - Postfix Mail Transport Agent
   Loaded: loaded (/usr/lib/systemd/system/postfix.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2021-04-15 02:00:43 CEST; 1 day 18h ago
 Main PID: 3745676 (master)
   CGroup: /system.slice/postfix.service

If postfix is running and you can’t send emails then read our troubleshooting guide to find out why.

If postfix is not running then you can try starting it, but if you can’t then check weather it is installed or not

Centos 7 or Centos 8

[root@de1 ~]# yum list installed | grep postfix
postfix3.x86_64                2:3.5.8-1.gf.el7      @gf-plus                   
postfix3-ldap.x86_64           2:3.5.8-1.gf.el7      @gf-plus                   
postfix3-mysql.x86_64          2:3.5.8-1.gf.el7      @gf-plus                   
postfix3-pcre.x86_64           2:3.5.8-1.gf.el7      @gf-plus                   
[root@de1 ~]#

Ubuntu 18 or Ubuntu 20

apt list --installed | grep postfix

If you don’t see any postfix packages installed, then postfix is not installed in your system. You can install them, first enable gf repo (for Centos 7 or Centos 8) on your system.

Note: Take backup of your postfix configurations at /etc/postfix and restore them after installation

Centos 7

yum --nogpg install https://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el7.noarch.rpm

Centos 8

dnf --nogpg install https://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el8.noarch.rpm

now install postfix

Centos 7

yum install --enablerepo=gf-plus -y postfix3 postfix3-ldap postfix3-mysql postfix3-pcre

Centos 8

dnf install --enablerepo=gf-plus postfix3 postfix3-mysql -y

Ubuntu 18 or Ubuntu 20

apt-get -y install postfix postfix-mysql

Once postfix is installed again, you can restore the backup of configurations file and restart postfix and verify that it is working.


Step 2: Check and Fix Dovecot Service

Second thing to do is to check weather dovecot services is running:

systemctl status dovecot

Run the command above to check if dovecot is running, if it is, then you should see something like:

dovecot.service - Dovecot IMAP/POP3 email server
Loaded: loaded (/usr/lib/systemd/system/dovecot.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2021-04-15 02:00:44 CEST; 1 day 18h ago
Docs: man:dovecot(1)
http://wiki2.dovecot.org/
Main PID: 3745695 (dovecot)

If dovecot is not running then you can try starting it, but if you can’t then check weather it is installed or not

Centos 7 or Centos 8

[root@de1 ~]# yum list installed | grep dovecot
dovecot23.x86_64 1:2.3.11.3-1.gf.el7 @gf-plus 
dovecot23-mysql.x86_64 1:2.3.11.3-1.gf.el7 @gf-plus 
[root@de1 ~]#

Ubuntu 18 or Ubuntu 20

apt list --installed | grep dovecot

If you don’t see any dovecot packages installed, then dovecot is not installed in your system. You can install them, first enable gf repo (for Centos 7 or Centos 8) on your system.

Note: Take backup of your dovecot configurations at /etc/dovecot and restore them after installation

Centos 7

yum --nogpg install https://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el7.noarch.rpm

Centos 8

dnf --nogpg install https://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el8.noarch.rpm

now install dovecot

Centos 7

yum --enablerepo=gf-plus -y install dovecot23 dovecot23-mysql

Centos 8

dnf install --enablerepo=gf-plus dovecot23 dovecot23-mysql -y

Ubuntu 18 or Ubuntu 20

apt-get -y install dovecot-mysql dovecot-imapd dovecot-pop3d

Once dovecot is installed again, you can restore the backup of configurations file and restart dovecot and verify that it is working.

In my server I see that everything is working but when I try to login to mail It shows authentication failed error. When I monitored the dovecot using following command

journalctl -f | grep dovecot

I got the below errors:

dovecot[733]: auth-worker(1939): Error: sql([email protected],127.0.0.1,<TgoNr6boGLp/AAAB>): Invalid password in passdb: crypt() failed: Invalid argument

Please help me to solve this.

I am using OS: Ubuntu 18.04 (64 Bit)