Articles in this section

Unable to receive email: the recipient email account has an empty password in the Plesk database

Plesk for Linux kb: technical ABT: Group B

Applicable to:

  • Plesk for Linux

Symptoms

  • Unable to receive an email on a Plesk server for the johndoe@example.com mailbox with the following errors in /var/log/maillog file:

    CONFIG_TEXT: dovecot_authdb_plesk[1377]: No such user 'johndoe@example.com' in mail authorization database
    dovecot: auth: plesk(johndoe@example.com): Mail account information for user='johndoe@example.com' was not found
    dovecot: auth: Debug: userdb out: NOTFOUND#0111
    dovecot: service=lda, user=johndoe@example.com, ip=[]. Debug: auth input:
    postfix/pipe[14513]: E141A88AA5: to=<johndoe@example.com, 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 internally 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
  1. Log into Plesk.

  2. Go to Domains > example.com > Email Addresses > johndoe@example.com.

  3. Set a new password into Password and Confirm password fields and press the OK button:
    password.png

For all affected email accounts
  1. Log into the server via SSH.

  2. Create a backup for psa database:

    # plesk db dump psa > /root/psa.sql

  3. 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

  4. 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

  5. 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

  6. 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.

Was this article helpful?

Comments

0 comments

Please sign in to leave a comment.