Как перенаправить все письма с постфиксом на один внешний адрес электронной почты?

24

Для создания тестового почтового сервера у меня есть такое же требование как:

Как перенаправить всю исходящую почту с постфикса на один адрес для тестирования

Но мне нужно отправить все письма на внешний аккаунт, а не на локальный.

Я хотел бы сделать что-то вроде:

  • хуг: email@gmail.com

но xyz не местный, ни smtp.

user43856
источник

Ответы:

45

Создайте /etc/postfix/virtual-regexpсо следующим содержанием:

/.+@.+/ email@gmail.com

Отредактируйте /etc/postfix/main.cfи добавьте regexp:/etc/postfix/virtual-regexpв конфигурацию virtual_maps. Конечный результат может выглядеть так в main.cf:

virtual_maps = hash:/etc/postfix/virtual, regexp:/etc/postfix/virtual-regexp

Создайте файл карты, набрав:

postmap /etc/postfix/virtual-regexp

Для этого также требуется наличие virtual.db. Если он не создает пустой файл с именем virtual и запустите:

touch /etc/postfix/virtual && postmap /etc/postfix/virtual

Вуаля!

Маттиас Анберг
источник
1
Спасибо Маттиасу Анбергу за ответ. Как насчет отправки нескольких писем на компьютер с постфиксом, установленным с одним уникальным адресом электронной почты (например, gmail)? Я могу только получить 2-3 первые письма, остальное отскочил.
почтовые карты
Можно ли перенаправить всю почту, адресованную localпользователям (root и т. Д.), На какой-то внешний адрес и не перенаправить другую почту? Я думаю, что знак at должен как-то отрицаться
таз
@ basin Похоже, замена email@gmail.com root @ localhost сделает это, нет?
user14645
Нет, я думаю, что это ответы: serverfault.com/questions/318426/…
таз
Таблицы регулярных выражений используются как есть, запускать postmap на них нет смысла.
Жоа Адам
1

Как это заняло у меня некоторое время:

Если вы хотите исключить целевые домены из этого, добавьте к правилу префикс

/.+@exclude1.com/ @exclude1.com
/.+@exclude2.com/ @exclude2.com
...

чтобы сохранить первоначального получателя, я обнаружил, что виртуальная справочная страница немного сбивает с толку, как этого добиться.

Тим Хектор
источник
-2

Допустимо ли просто отправить его в локальную учетную запись, которая затем пересылает всю почту на ваш внешний адрес? Вы можете запустить его, как и другой вопрос, который вы упомянули, а затем использовать procmail для пересылки сообщений и их локального удаления. Что-то вроде этого , вероятно, сработает, заменив папку на / dev / null.

Пол Крон
источник