Где установить адрес для приема всей почты в Postfix (виртуальные почтовые ящики в действии)

Где установить адрес для приема всей почты в Postfix (виртуальные почтовые ящики в действии)

Я успешно настроил Postfix для доставки сообщений на виртуальные почтовые ящики.

Я могу задать псевдонимы и каналы внутри файлов /etc/postfix/virtual, а почтовые ящики — внутри файлов /etc/postfix/virtual_mailbox.

Однако всякий раз, когда я устанавливаю домен catch-all и указываю на удаленный адрес электронной почты, он переопределяет все другие виртуальные почтовые ящики и виртуальные псевдонимы, установленные в postfix. Как мне установить пересылку catch-all на удаленный адрес электронной почты, когда включен виртуальный почтовый ящик?

Я установил функцию catch-all следующим образом:

@mydomain.com     [email protected]

Спасибо за вашу помощь!

решение1

virtual_alias_mapsВ вашем случае все должно быть в файле /etc/postfix/virtualинетв virtual_mailboxфайле.

Взглянемздесь, выполните поиск по странице Mail forwarding domainsи вы найдете такой пример:

1 /etc/postfix/main.cf:
2     virtual_alias_domains = example.com ...other hosted domains...
3     virtual_alias_maps = hash:/etc/postfix/virtual
4 
5 /etc/postfix/virtual:
6     [email protected] postmaster
7     [email protected]        joe@somewhere
8     [email protected]       jane@somewhere-else
9     # Uncomment entry below to implement a catch-all address
10     # @example.com         jim@yet-another-site
11     ...virtual aliases for more domains...

решение2

Для нас самым простым решением было дать ТРИ записи для virtual_alias_maps,они выполняются по порядку до первого совпадениянапример.

/etc/postfix/main.cf:
virtual_alias_maps = 
    hash:/etc/postfix/virtual, 
    proxy:ldap:/etc/postfix/ldap/virtual_mail_exist_maps.cf, 
    hash:/etc/postfix/virtual_after_ldap

Первая запись — это «классический» локальный виртуальный файл, он может перенаправлять данные с домена .com на домен .net, если вам нужно что-то подобное, например.

/etc/postfix/virtual:
    @mydomain.com @mydomain.net

Вторая запись — это база данных, sql или ldap или что-то еще. Когда учетная запись совпадает, postfix обслуживаетименно та почта, которая была запрошенаи выходит здесь - успешно пересылая почту более или менее себе (логика постфикса :))

/etc/postfix/ldap/virtual_mail_exist_maps.cf
     server_host     = x
     server_port     = x
     ...
     result_format   = %s

Третья запись — это еще один простой локальный файл. Postfix будет выполнять поиск здесь только в том случае, если поиск в базе данных не увенчается успехом, здесь вы можете разместить свой адрес для сбора всех сообщений

/etc/postfix/virtual_after_ldap
    @mydomain.net postmaster

Связанный контент