Question
By default, Plesk stores all mailboxes in the directory /var/qmail/mailnames/
. How to change this location?
Answer
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.conf
in a text editor and change the value of the variablePLESK_MAILNAMES_D
: specify a new location for mailbox directory:# grep PLESK_MAILNAMES_D /etc/psa/psa.conf
PLESK_MAILNAMES_D /new_directory/mailnamesNote: 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/mailnames
should not be removed. Only domains' directories can be removed or moved out from there if necessary. -
Change the configuration of the IMAP/POP3 server:
-
Dovecot:
-
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
/etc/dovecot/dovecot.conf
:# 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-8
to 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
-
-
Courier-IMAP:
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/etc/passwd
, change/var/qmail/
to the new location:-
For CentOS/RHEL/CloudLinux/AlmaLinux:
From:
popuser:x:30:31:POP3 service user:/var/qmail/popuser:/sbin/nologin
To:
popuser:x:30:31:POP3 service user:/<new_mailnames_directory>/popuser:/sbin/nologin
-
For Debian/Ubuntu:
From:
popuser:x:30:31:POP3 service user:/var/qmail/popuser:/bin/false
To:
popuser:x:30:31:POP3 service user:/<new_mailnames_directory>/popuser…
-