Как лучше всего заставить Postfix незаметно перенаправлять электронные письма на конкретный недопустимый домен?
По причинам, которые сейчас невозможно решить иначе, наши почтовые серверы получают много писем с адресами формы $ userid @ BLAH, где @BLAH всегда является этим значением, а $ userid генерируется отправителем программно. Почтовым серверам отправителя разрешено ретранслировать через наши почтовые серверы, но поскольку BLAH не является допустимым доменом, сообщения откладываются с сообщением «Хост или имя домена не найдены. Ошибка службы имен для name = BLAH type = MX: Хост не найден, попробуйте очередной раз". Очевидно, что header_checks не работает, поскольку это обрабатывается после поиска имени хоста.
Я бы хотел, чтобы они никогда не попадали в очередь, даже если они в конечном итоге устаревают после нескольких попыток, и вместо этого просто молча отбрасывают их. (В конце концов, проблема с исходным кодом будет решена, но это может произойти не скоро.)
Обновить
Я адаптировал рекомендацию Майкла, поскольку конфигурация виртуального почтового ящика доставлялась в почтовый ящик, а не в / dev / null, несмотря на псевдоним. Однако у меня уже был виртуальный псевдоним другого домена, поэтому я просто добавил BLAH "домен" в virtual_alias_domains
и добавил @BLAH BLAH
к /etc/postfix/virtual
, postmapped и вместе с новым /etc/aliases
запись, это работает как шарм.
Обновление 2
Мне пришло в голову, что с добавлением BLAH к virtual_alias_domains
, теперь должно работать правило header_check, устраняя необходимость в псевдонимах в virtual
псевдоним aliases
, и испытания подтверждают это. Это дает дополнительное преимущество в том, что электронные письма теперь регистрируются как отклоненные и, таким образом, подбираются существующими шаблонами в нашей конфигурации плагина Collectd tail для графиков показателей SMTP-сервера.
Во-первых, вам нужно будет принимать почту для несуществующего домена, например добавив его в virtual_mailbox_domains
.
Тогда вам нужно будет сделать общий адрес в virtual_mailbox_maps
который доставляет его локально, например:
@example.com throwaway
Наконец, вам нужно сделать локальный псевдоним для throwaway
в /etc/aliases
который доставляет почту /dev/null
, например:
throwaway /dev/null
Postmap и перезагрузите postfix при необходимости.
Чтобы незаметно отбросить исходящую почту, вы также можете использовать файл транспортной карты
transport_maps = hash:/etc/postfix/transport_maps
содержащие такие записи, как:
email-to-bin@example.com discard:
@domain-to-bin.com discard: