Symptoms
-
Unable to receive an email on a Plesk server for the
[email protected]
mailbox with the following errors in/var/log/maillog
file:dovecot_authdb_plesk[1377]: No such user '[email protected]' in mail authorization database
dovecot: auth: plesk([email protected]): Mail account information for user='[email protected]' was not found
dovecot: auth: Debug: userdb out: NOTFOUND#0111
dovecot: service=lda, [email protected], ip=[]. Debug: auth input:
postfix/pipe[14513]: E141A88AA5: to=<[email protected], relay=plesk_virtual, delay=2, delays=2/0/0/0.06, dsn=4.2.1, status=deferred (Message can not be delivered at this time ) -
The same errors appear for the messages that are forwarded externally after switching from Courier to Dovecot.
Cause
The recipient email account has an empty password in the Plesk database.
Resolution
For a single email account
-
Go to Domains > example.com > Email Addresses > [email protected].
-
Set a new password into Password and Confirm password fields and press the OK button:
For all affected email accounts
-
Log into the server via SSH.
-
Create a backup for psa database:
# plesk db dump psa > /root/psa.sql
-
Execute the command below to create a
/root/affectedaccounts.txt
file that contains all email accounts with the empty passwords:# MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysql -uadmin psa -Ne "select concat(m.mail_name,'@',d.name) as mailbox from domains d, mail m, accounts a where m.dom_id=d.id and m.account_id=a.id and m.postbox='true' and a.password =''" > /root/affectedaccounts.txt
-
Run the following command to set a new password for the email accounts from
/root/affectedaccounts.txt
file:# while read i; do /usr/local/psa/bin/mail -u $i -passwd "NEWPASSWORD"; done < /root/affectedaccounts.txt
- Generate as list with mailboxes that currently are in the disabled state but have empty passwords:
# MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysql -uadmin psa -Ne "select concat(m.mail_name,'@',d.name) as mailbox from domains d, mail m, accounts a where m.dom_id=d.id and m.account_id=a.id and m.postbox='false' and a.password =''" > /root/affectedaccountsdisabled.txt
-
Execute the command below to set a new passwords for the disabled mailboxes as well:
# wget https://support.plesk.com/hc/en-us/article_attachments/4407744658066/script213928485.tar.gz && tar -xvzf script213928485.tar.gz && chmod +x script.sh && bash script.sh
Note: in the commands from steps №4 and №6 replace NEWPASSWORD with the desired password that will be set for all affected email accounts.