Назад | Перейти на главную страницу

Как настроить postfix так, чтобы вся электронная почта отбрасывалась в один домен и перенаправлялась вся другая электронная почта?

Мне нужно настроить postfix в среде разработки / тестирования для фильтрации электронной почты, чтобы мы не спамили наших клиентов. В наших тестовых средах мы очищаем все наши пользовательские данные, чтобы адреса электронной почты были изменены на @localhost, хотя некоторые адреса могут быть изменены на действительные адреса электронной почты позже для целей тестирования. Мы передаем всю нашу электронную почту через стороннего провайдера для доставки, поэтому я бы хотел настроить postfix для:

  1. Выбросьте любую электронную почту, отправленную на localhost
  2. Передайте всю оставшуюся электронную почту нашему стороннему провайдеру.

Поскольку постфикс относительно новичок, что было бы проще всего настроить?

Что ж, мне, кажется, удалось выяснить это с небольшим поиском и тестированием. Вот что мне пришлось сделать:

  • В /etc/postfix/main.cf:

    transport_maps = hash:/etc/postfix/transport
    smtp_sasl_auth_enable = yes
    smtp_sasl_password_maps = static:<relayhost username>:<relayhost password>
    smtp_sasl_security_options = noanonymous
    smtp_tls_security_level = may
    start_tls = yes
    
  • В / etc / postfix / transport:

    localhost discard: 
    localhost.localdomain discard:
    * relay:[smtp.relayhost.com]:587
    

Ретрансляция, по-видимому, также обходит директиву alias_maps, поэтому для продолжения работы псевдонимов мне пришлось закомментировать как alias_maps, так и alias_database и заменить их на virtual_alias_maps. Формат virutal_alias_map идентичен alias_maps, так что это было легко внести.

После внесения этих изменений просто перезапустите postfix, а также запустите «postmap / etc / postfix / transport» для создания transport.db. Теперь все, что адресовано @localhost или @ localhost.localdomain, отбрасывается, а все остальное передается через указанный хост.