By default, Plesk stores all mailboxes in the /var/qmail/mailnames/ directory. How to change this location?
Connect to the server using SSH
Find what SMTP and IMAP/POP3 servers are in use:
# /usr/local/psa/admin/bin/mailmng --features | egrep 'SMTP_Server|IMAP_POP3_Server'
$features['SMTP_Server'] = "Postfix";
$features['IMAP_POP3_Server'] = "Dovecot";
$features['SMTP_Server_package'] = "postfix";
$features['IMAP_POP3_Server_package'] = "dovecot";
Stop the SMTP service:
# service postfix stop
Open the file /etc/psa/psa.conf and change the PLESK_MAILNAMES_D variable: specify a new location for mailbox directory so that it is like
# grep PLESK_MAILNAMES_D /etc/psa/psa.conf
PLESK_MAILNAMES_D <new_mailnames_directory>
Move mailboxes from the current directory to the new location with the command:
# cp -ap /var/qmail/mailnames/* /new/mailnames/directory/
If dovecot is in use, set the new location in the file /etc/dovecot/dovecot.conf by modifying values in the lines below:
# egrep 'mail_home|mail_location' /etc/dovecot/dovecot.conf
mail_home = <new_mailnames_directory>/%Ld/%Ln
mail_location = maildir:<new_mailnames_directory>/%Ld/%Ln/Maildir
Restart the dovecot service:
# service dovecot restart
After all the steps are done, start SMTP service and reconfigure mail settings using the mchk utility:
# service postfix start
# plesk repair mail
Before creating new mailboxes on new domains configure SELinux in the following way:
# chcon -R -t mail_spool_t <new_mailnames_directory>
Set the new home directory for the popuser. In /etc/passwd file change /var/qmail/popuser to the required one:
From:
popuser:x:30:31:POP3 service user:/var/qmail/popuser:/sbin/nologin
To:
popuser:x:30:31:POP3 service user:/<new_mailnames_directory>/qmail/popuser:/sbin/nologin