- Plesk for Linux
By default, Plesk stores all mailboxes in the directory
/var/qmail/mailnames/. How to change this location?
Warning: Changing the mailboxes location on Plesk servers with Plesk Premium Email installed is currently not supported. Such a possibility will be added in the future.
Find what SMTP and IMAP/POP3 servers are in use: Log in to Plesk and go to Tools & Settings > Mail Server Settings:
Connect to the server using SSH.
Stop the SMTP service:
# service postfix stop
Open the file
/etc/psa/psa.confin a text editor and change the value of the variable
PLESK_MAILNAMES_D: specify a new location for mailbox directory:
# grep PLESK_MAILNAMES_D /etc/psa/psa.conf
Note: Capital letters must not be used in the name of the directory that will be used as the new location for mailboxes.
Note: To avoid performance degradation, the new location for the mailboxes directory should be located in the local file system - it should not be mounted as a network share, such as NFS.
Copy the current mailboxes directory to the parent directory for the new mailboxes directory:
# cp -ap /var/qmail/mailnames /new_directory
For example, if the mailboxes directory is
/mnt/mailnames, the command should look like this:
# cp -ap /var/qmail/mailnames /mnt
Warning: The directory
/var/qmail/mailnamesshould not be removed. Only domains' directories can be removed or moved out from there if necessary.
Change the configuration of the IMAP/POP3 server:
Create a new custom file to add variables in it:
# touch /etc/dovecot/conf.d/99-custom_dir.conf
Copy the actual location from the file
# egrep -i mail_home\|mail_location /etc/dovecot/dovecot.conf
mail_home = /var/qmail/mailnames/%Ld/%Ln
mail_location = maildir:/var/qmail/mailnames/%Ld/%Ln/Maildir
Add those 2 variables in the custom file:
/etc/dovecot/conf.d/99-custom_dir.conf. Then change them to the custom location and add
:UTF-8to the end of the second parameter:
# egrep -i mail_home\|mail_location /etc/dovecot/conf.d/99-custom_dir.conf
mail_home = /new/mailnames/directory/%Ld/%Ln
mail_location = maildir:/new/mailnames/directory/%Ld/%Ln/Maildir:UTF-8
Restart Dovecot and pc-remote service:
# service dovecot restart
# service pc-remote restart
No need to change configuration, just restart all Courier services:
# service courier-authdaemon restart
# service courier-imapd restart
# service courier-imaps restart
# service courier-pop3d restart
# service courier-pop3s restart
After all the steps are done, start SMTP service and reconfigure mail services:
# service postfix start
# plesk repair mail -y
Set the new home directory for the user
popuser. In the file
/var/qmail/to the new location:
popuser:x:30:31:POP3 service user:/var/qmail/popuser:/sbin/nologin
popuser:x:30:31:POP3 service user:/<new_mailnames_directory>/popuser:/sbin/nologin
popuser:x:30:31:POP3 service user:/var/qmail/popuser:/bin/false
popuser:x:30:31:POP3 service user:/<new_mailnames_directory>/popuser:/bin/false
Note: Before creating new mailboxes on new domains on CentOS/RHEL/AlmaLinux, it may be required to configure SELinux in the following way:
# chcon -R -t mail_spool_t <new_mailnames_directory>
Please sign in to leave a comment.