Я использую postfix для своей электронной почты. Я знаю, что могу использовать команду / etc / aliases и newaliases для перенаправления определенного электронного письма, например, я могу перенаправить root@example.com на user@example.com, поставив root: user
в моем / etc / aliases, а затем запустил newaliases
. Однако я хотел бы сделать эквивалент *: user
, так что все письма на example.com будут отправлены на user@example.com.
Как мне это сделать?
luser_relay = user@example.com
в твоем main.cf
это то, что вы хотите.
Чтобы отключить проверку пользователей и принимать все письма, вам необходимо добавить local_recipient_maps =
вариант. Документация
То, что вы ищете, - это виртуальная таблица псевдонимов, которую можно сделать, используя следующие ...
Сначала вам нужно отредактировать или создать, если он еще не существует, / и т.д. / постфикс / виртуальный файл.
example.com whatever
@example.com user@example.com
После сохранения вам нужно будет запустить postmap /etc/postfix/virtual
для создания индексированных /etc/postfix/virtual.db Postfix прочитает.
Затем вам нужно будет отредактировать /etc/postfix/main.cf и убедитесь, что у вас есть раскомментированная строка:
virtual_alias_maps = hash:/etc/postfix/virtual
Это фактически позволит postfix узнать о таблице виртуальных псевдонимов и использовать ее.
Проблема с использованием luser_relay
вариант, как уже упоминалось другими, заключается в том, что он рассматривается как последний пользователь для неизвестных адресов локальным агентом доставки. Если postfix обрабатывает почту только для одного домена, это можно использовать для этого, но он может маскировать другие ошибки конфигурации и, вероятно, приведет к неожиданным результатам, если обрабатывается более одного домена.
Единственное предостережение, которое я считаю своим долгом упомянуть, заключается в том, что, создавая псевдоним с подстановочными знаками такого рода, вы открываете свою почтовую систему для приема сообщений для адресов, которые не будут существовать, и рискуете быстро заполнить почтовый ящик спамом из-за несуществующих почтовые ящики.
На самом деле это довольно просто. Все, что вам нужно сделать, это поместить что-то подобное в свой main.cf
файл:
virtual_alias_maps = regexp:/etc/postfix/virtual_alias
В regexp
часть делает свое дело. Также в /etc/postfix/virtual_alias
вы ставите что-то вроде этого:
/^test/ you@yourdomain.com
В этом примере вы должны получать всю почту с адресом, начинающимся с «test». Не забудьте постмапить / etc / postfix / virtual_alias и перезагрузить postfix.
Чтобы объединить ответ / комментарий выше, который сработал для меня проще всего (у меня один основной домен):
Добавьте следующее в /etc/postfix/main.cf
:
luser_relay = user@domain.com (or local system user)
local_recipient_maps =
(local_recipient_maps =
не имеет значения)
Я использую локальную учетную запись linux, а также добавляю того же пользователя в / etc / aliases, чтобы пользователь получал всю почту для root, postmaster и т. Д.
Вы также можете объединить этот же адрес в своем virtual_alias_maps
и направьте все виртуальные домены на эту же основную учетную запись.
Пожалуйста, проконсультируйтесь luser_relay для большего.
Если вы хотите использовать адрес для приема всей почты домена mydomain, вы можете использовать /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.
Есть менее известный статический Тип таблицы поиска в Postfix, который можно использовать именно для этой цели:
alias_database = static:user@example.com
alias_maps = static:user@example.com
Если user@example.com не является локальным для этой системы, вы также, вероятно, захотите отбросить все сообщения о недоставке, заменив строки, заканчивающиеся на bounce
с участием discard
в master.cf
чтобы избежать петель почты.
Ненавижу быть ублюдком, но ваша проблема в том, что вы используете Postfix. Postfix делает именно это упражнение очень трудным. Я знаю: мне пришлось сделать это несколько лет назад, и мне потребовались дни и дни, чтобы все исправить. В luser
вариант - правильный, но есть и другие вещи, которые нужно исправить. (И даже название опции показывает, что авторы Postfix на самом деле не хотели это поддерживать.)
Рекомендую перейти на Курьер. Courier поддерживает этот универсальный метод гораздо более разумным способом, поскольку он расширяет существующую систему псевдонимов.