.png)
Я успешно настроил 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