Postfix / Dovecot с MySQL на CentOS 7 не создает правильную структуру каталогов

Я установил почтовый сервер с использованием Postfix, Dovecot и MySQL на машине CentOS для обслуживания некоторых виртуальных пользователей, но по какой-то причине он не хранит электронные письма в соответствующих папках. Postfix и Dovecot используют системного пользователя с именем vmail с его домашним каталогом, установленным на / home / vmail

. Домены и связанные с ними адреса электронной почты хранятся в базе данных MySQL, и Postfix должен создавать свои почтовые ящики. в / home / vmail.

Электронные письма должны храниться в папках следующего формата:

  • /home/vmail/example.com/sales/Maildir -> s домашний каталог установлен в / home / vmail

    . Домены и связанные с ними адреса электронной почты хранятся в базе данных MySQL, и Postfix должен создавать свои почтовые ящики в / home / vmail.

    Электронные письма должны храниться в папках следующего формата:

    • /home/vmail/example.com/sales/Maildir -> s домашний каталог установлен в / home / vmail

      . Домены и связанные с ними адреса электронной почты хранятся в базе данных MySQL, и Postfix должен создавать свои почтовые ящики в / home / vmail.

      Электронные письма должны храниться в папках следующего формата:

      • /home/vmail/example.com/sales/Maildir ->sales@example.com
      • /home/vmail/example.com/contact/Maildir -> contact@example.com

      Но независимо от адреса назначения они все сбрасываются в эту папку:

      • / home / vmail / vmail / Maildir

      Из-за этого доступ к указанным сообщениям с помощью любого почтового клиента невозможен. Все остальное (аутентификация, отправка / получение писем) работает, письма просто не хранятся там, где должны.

      Аналогичная установка с использованием Courier вместо Dovecot работает должным образом, поэтому я предполагаю, что это что-то связано только с Dovecot.

      Вот моя конфигурация dovecot, уменьшенная до минимума:

      protocols = imap pop3
      log_timestamp = "%Y-%m-%d %H:%M:%S"
      mail_location = maildir:/home/vmail/%d/%n/Maildir
      
      ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
      ssl_key = </etc/pki/dovecot/private/dovecot.pem
      
      namespace {
          type = private
          separator = .
          prefix = INBOX.
          inbox = yes
      }
      service auth {
          unix_listener auth-master {
              mode = 0600
              user = vmail
          }
          unix_listener /var/spool/postfix/private/auth {
              mode = 0666
              user = postfix
              group = postfix
          }
          user = root
      }
      service auth-worker {
          user = root
      }
      protocol lda {
          log_path = /home/vmail/dovecot-deliver.log
          auth_socket_path = /var/run/dovecot/auth-master
          postmaster_address = postmaster@example.com
      }
      protocol pop3 {
          pop3_uidl_format = %08Xu%08Xv
      }
      passdb {
          driver = sql
          args = /etc/dovecot/dovecot-sql.conf.ext
      }
      userdb {
          driver = static
          args = uid=5000 gid=5000 home=/home/vmail/%d/%n allow_all_users=yes
      }
      

      А вот параметры постфикса, которые я изменил по умолчанию

      myhostname = testcentos.com
      mydestination = localhost, localhost.localdomain
      mynetworks = 127.0.0.0/8
      virtual_alias_domains =
      virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf
      virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
      virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
      virtual_mailbox_base = /home/vmail
      virtual_uid_maps = static:5000
      virtual_gid_maps = static:5000
      smtpd_sasl_auth_enable = yes
      broken_sasl_auth_clients = yes
      smtpd_sasl_authenticated_header = yes
      smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, permit
      smtpd_use_tls = yes
      smtpd_tls_cert_file = /etc/pki/dovecot/certs/dovecot.pem
      smtpd_tls_key_file = /etc/pki/dovecot/private/dovecot.pem
      virtual_maildir_extended = yes
      proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps
      
      inet_interfaces = all
      message_size_limit = 30720000
      smtpd_sasl_type = dovecot
      smtpd_sasl_path = private/auth
      virtual_create_maildirsize = yes
      virtual_transport = dovecot
      dovecot_destination_recipient_limit = 1
      
1
задан 3 November 2015 в 14:21
1 ответ

проверьте ваш файл /etc/postfix/master.cf, он должен содержать что-то вроде:

dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${recipient}
0
ответ дан 4 December 2019 в 06:53

Теги

Похожие вопросы