Для создания тестового почтового сервера у меня есть такое же требование, как:
Как перенаправить всю исходящую почту с postfix на единый адрес для тестирования
Но мне нужно отправлять все электронные письма на внешнюю учетную запись, а не на локальную.
Я бы хотел сделать что-то вроде:
но xyz не является ни локальным, ни SMTP.
Создайте /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
Вуаля!
Поскольку это заняло у меня некоторое время:
Если вы хотите исключить из этого целевые домены, добавьте к правилу префикс
/.+@exclude1.com/ @exclude1.com
/.+@exclude2.com/ @exclude2.com
...
чтобы сохранить оригинального получателя, я обнаружил, что виртуальная справочная страница немного сбивает с толку, как этого добиться.
Приемлемо ли просто передать его в локальную учетную запись, которая затем пересылает всю почту на ваш внешний адрес? Вы можете запустить его, как и другой вопрос, который вы упомянули, а затем использовать procmail чтобы сообщения пересылались, а затем удалялись локально. Что-то вроде этот вероятно, поможет заменить папку на / dev / null.