it-swarm-ru.tech

postfix - как перенаправить все электронные письма одному пользователю, например, *@example.com → [email protected]

Я использую постфикс для моей электронной почты. Я знаю, что могу использовать команду/etc/aliases и newaliases для перенаправления определенной электронной почты, например, я могу перенаправить [email protected] на [email protected], поместив root: user В мой/etc/aliases и затем запустив newaliases. Однако я бы хотел сделать эквивалент *: user, Чтобы все письма на example.com отправлялись на [email protected]

Как мне это сделать?

27
Rory

luser_relay = [email protected] в вашей main.cf это то, что вы хотите.

Чтобы отключить проверку пользователей и принимать все письма, необходимо добавить local_recipient_maps = вариант. документация

19
womble

То, что вы ищете, является виртуальной таблицей псевдонимов и может быть сделано с помощью следующего ...

Сначала вам нужно отредактировать или создать, если он еще не существует, файл / etc/postfix/virtual.

example.com   whatever
@example.com  [email protected]

После того, как это будет сохранено, вам нужно будет запустить postmap /etc/postfix/virtual для того, чтобы сгенерировать индексированный / etc/postfix/virtual.db Postfix будет читать.

Затем вам нужно будет отредактировать / etc/postfix/main.cf и убедиться, что у вас есть следующая строка без комментариев:

virtual_alias_maps = hash:/etc/postfix/virtual

Это фактически позволит postfix узнать о виртуальной таблице псевдонимов и использовать ее.

Проблема с использованием luser_relay, как уже упоминали другие, заключается в том, что локальный агент доставки обрабатывает его как пользователя последних курортов для неизвестных адресов. Если postfix обрабатывает почту только для одного домена, это можно использовать для этого, но он может маскировать другие ошибки конфигурации и, вероятно, приведет к неожиданным результатам, если обрабатывается более одного домена.

Единственное предостережение, которое я должен упомянуть, заключается в том, что, создавая подстановочный псевдоним такого типа, вы открываете свою почтовую систему для приема сообщений на несуществующие адреса и рискуете быстро заполнить почтовый ящик спамом для несуществующего почтовые ящики.

17
Jeremy Bouse

Это на самом деле довольно просто. Все, что вам нужно сделать, это поместить что-то подобное в ваш main.cf файл:

virtual_alias_maps = regexp:/etc/postfix/virtual_alias

Часть regexp делает свое дело. Также в /etc/postfix/virtual_alias вы положили что-то вроде этого:

/^test/ [email protected]

В этом примере вы должны получить всю почту с адресатом, начинающимся с 'test'. Не забудьте опубликовать/etc/postfix/virtual_alias и перезагрузить postfix.

8
patryk

Чтобы объединить ответ/комментарий выше, который работал для меня проще всего (у меня есть один основной домен):
Добавьте следующее к /etc/postfix/main.cf:

luser_relay = [email protected] (or local system user)
local_recipient_maps =

(local_recipient_maps = не имеет значения)

Я использую локальную учетную запись linux, а также добавляю того же пользователя в/etc/aliases, чтобы пользователь получал всю почту для root, postmaster и т.д.

Вы также можете объединить этот же адрес в вашем virtual_alias_maps и ​​укажите любые виртуальные доменные имена на эту же основную учетную запись.

Пожалуйста, обратитесь к luser_relay для получения дополнительной информации.

6
bshea

Если вы хотите использовать универсальный адрес для моего домена, вы можете использовать /etc/aliases в сочетании с регулярным выражением следующим образом:

В /etc/postfix/main.cf Добавить
alias_maps = hash:/etc/aliases, regexp:/etc/postfix/catch-all-local.regexp

В /etc/postfix/catch-all-local.regexp Добавить
!/^owner-/ your-catch-all-user

Это должно сделать свое дело. Это работает для меня, и работает с virtual_alias_maps, установленным параллельно.

3
Vasile Goian

В Postfix есть менее известный статический тип таблицы поиска, который может использоваться именно для этой цели:

alias_database = static:[email protected]
alias_maps = static:[email protected]

Если [email protected] не является локальным для этой системы, вы также, вероятно, захотите отбросить все сообщения о сбое, заменив строки, заканчивающиеся на bounce, на discard в master.cf чтобы избежать почтовых петель.

0
user542704