Назад | Перейти на главную страницу

Postfix Maildir virtual_mailbox_maps и virtual_alias_maps с несколькими записями

Используя Ubuntu 16.04 Xenial / Postfix 3.1.0, я установил virtual_mailbox_maps с участием virtual_alias_maps с помощью Maildir. Мне нужен Postfix для доставки почты как на внешний адрес электронной почты, так и в соответствующую папку (папки) Maildir. Вместо этого, несмотря на все мои усилия, Postfix выбирает первое совпадение / вхождение. Он либо доставляет почту на псевдоним, либо доставляет почту в Maildir. Мне не удалось настроить и то, и другое.

Вторая часть этой проблемы заключается в том, что мне также нужно иметь один виртуальный почтовый ящик для пересылки в несколько местоположений Maildir. Например, мне нужна почта, отправленная на admin@mydomain.com для хранения почты в /home/vmail/mydomain.com/admin/ И /home/vmail/mydomain.com/backup/ (в дополнение к пересылке на внешний адрес электронной почты backup@anotherdomain.com, как указано выше).

Попытка сделать это приводит к созданию подкаталога в первом Maildir с именем второго Maildir, в котором хранится входящая почта. Я пробовал разделять записи с помощью пробела, табуляции, запятой и плюса. Каждый из них дал одинаковый результат, создав подкаталог в папке /vmail/domain.com/user/. С каждым изменением я использую postmap и перезагружаю Postfix.

Я также пробовал добавить несколько строк для отдельных адресов, но Postfix читает первое вхождение и выдает предупреждение о дубликатах.

virtual_mailbox_maps // Моя попытка использовать разделение пробелов выглядит так:

admin@mydomain.com    mydomain.com/admin/   mydomain.com/backup/

Обратите внимание: указанный выше формат отлично подходит для virtual_alias_maps, пересылка на несколько внешних адресов электронной почты.

Я обыскал все ресурсы в Интернете, которые смог найти, пробуя различные конфигурации. Моя текущая конфигурация main.cf приведена ниже. Я временно закомментировал virtual_alias_maps, чтобы сохранить функциональность моей конфигурации Maildir (псевдонимы всегда имеют приоритет).

Мы будем благодарны за любой совет или помощь в этом вопросе. Пожалуйста, дайте мне знать, если потребуется дополнительная информация.

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
delay_warning_time = 4h
readme_directory = no

# See http://www.postfix.org/COMPATIBILITY_README.html -- default to 2 on
# fresh installs.
compatibility_level = 2

# Network settings
myhostname = server.mydomain.com
mydomain = mydomain.com
myorigin = $mydomain
mydestination = localhost
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
inet_protocols = ipv4
mynetworks_style = subnet

# Mail settings
#mailbox_command = /usr/bin/procmail
#mailbox_base = /home/vmail
#mailbox_owner = vmail
home_mailbox = Maildir/
recipient_delimiter = +
#alias_maps = hash:/etc/aliases
#alias_database = hash:/etc/aliases

# Limits
message_size_limit = 20480000
mailbox_size_limit = 1073741824

# Virtual Mailbox settings
virtual_mailbox_domains = /etc/postfix/virtual_domains
virtual_mailbox_base = /home/vmail
virtual_mailbox_maps = hash:/etc/postfix/virtual_mailbox
virtual_minimum_uid = 1000
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000

# Virtual Alias settings
#virtual_alias_domains = /etc/postfix/valias
#virtual_alias_maps = hash:/etc/postfix/virtual_forwarding

# TLS parameters
smtpd_tls_cert_file = /etc/letsencrypt/live/mydomain.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mydomain.com/privkey.pem
smtpd_use_tls=yes
smtpd_tls_auth_only = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

#Disable Poodle
smtpd_tls_security_level = may
smtp_tls_security_level = may
smtp_tls_loglevel = 1
smtpd_tls_loglevel = 1
smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3
smtp_tls_mandatory_protocols=!SSLv2,!SSLv3
smtpd_tls_protocols=!SSLv2,!SSLv3
smtp_tls_protocols=!SSLv2,!SSLv3

# Changes to SSL Ciphers
tls_preempt_cipherlist=yes
smtpd_tls_mandatory_ciphers=high
tls_high_cipherlist=ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
#tls_high_cipherlist=ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:DHE-DSS-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA256:ADH-AES256-GCM-SHA384:ADH-AES256-SHA256:ECDH-RSA-AES256-GCM-SHA384:ECDH-ECDSA-AES256-GCM-SHA384:ECDH-RSA-AES256-SHA384:ECDH-ECDSA-AES256-SHA384:AES256-GCM-SHA384:AES256-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:DHE-DSS-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256:DHE-DSS-AES128-SHA256:ADH-AES128-GCM-SHA256:ADH-AES128-SHA256:ECDH-RSA-AES128-GCM-SHA256:ECDH-ECDSA-AES128-GCM-SHA256:ECDH-RSA-AES128-SHA256:ECDH-ECDSA-AES128-SHA256:AES128-GCM-SHA256:AES128-SHA256:NULL-SHA256

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

# SMTPD Settings
smtp_sasl_auth_enable = no
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions = permit_auth_destination,permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
smtpd_relay_restrictions = permit_mynetworks,permit_sasl_authenticated,defer_unauth_destination,permit_inet_interfaces
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth

# Custom settings
allow_percent_hack = no
append_at_myorigin = no

Похоже, что virtual_alias_maps все-таки может быть ответом.

Вам просто нужно указать это так в virtual_alias_maps:

admin@mydomain.com admin@mydomain.com, admin@another.domain

Конечно, у вас должен быть admin@mydomain.com в virtual_mailbox_maps.

Я нашел ответ здесь (пример 2): https://workaround.org/ispmail/jessie/types-of-email-domains