Plesk

 How to change default location of mailboxes in Plesk for Linux

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.

  1. Find what SMTP and IMAP/POP3 servers are in use: Log in to Plesk and go to Tools & Settings > Mail Server Settings:

  2. Connect to the server using SSH.

  3. Stop the SMTP service:

    # service postfix stop

  4. Open the file/etc/psa/psa.conf in 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
    PLESK_MAILNAMES_D /new_directory/mailnames

    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.

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

  6. Change the configuration of the IMAP/POP3 server:

    • Dovecot:

      1. Create a new custom file to add variables in it:

        # touch /etc/dovecot/conf.d/99-custom_dir.conf

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

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

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

  7. After all the steps are done, start SMTP service and reconfigure mail services:

    # service postfix start
    # plesk repair mail -y

  8. 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…

Exit mobile version