Настройка дополнительного домена для недоставленной почты
Проблема: Основной почтовый домен хостится на google app. Автоматические отчеты отсылаются напрямую в googleapp . Если gmail начал отклонять письма (не касается платных аккаунтов) на ваши служебные адреса (hostmaster, postmaster, root) — вы перестаните получать уведомления об ошибках, нотификации, ежедневные отчеты и тп. Приведенная конфигурация касается только конфигураци для почтовых серверов расчитаных в основном для отправки почты (lamp). Для возможности архивирования и пересылки используем дополнительный relay.
Решение:
1. Создаем вспомогательный домен c собвственным MX, SPF (к примеру: bounces.domain.ua, colo.domain.ua).
2. На серверах прописываем транспорт и направляем все ошибки (про доставленную почту и тп) через наш домен bounces.domain.ua.
/etc/postfix/main.cf
# Отчеты о недоставленой почте отправляем постмастеру notify_classes = bounce,resource,software double_bounce_sender = postmaster bounce_notice_recipient = postmaster@bounces.domain.ua # # Всю почту from:<> отправляем через наш relay empty_address_relayhost_maps_lookup_key = MAILER-DAEMON sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relay
/etc/postfix/sender_relay
MAILER-DAEMON bounces.domain.ua
3. В /etc/aliases перенаправляем всю почту для root на root@colo.domain.ua.
4. В моем случае, необходимо было всю почту к @bounces.domain.ua перенаправлять к одному адресату, а на ящики root@colo.domain.ua и cron@colo.domain.ua к другим. Остальное > /dev/null. Вот конфигурация вспомогательного почтового сервера:
# ---- Virtual domains for reposts ---- ...........................[SKIPED]......................... virtual_alias_domains = colo.domain.ua bounces.domain.ua virtual_alias_maps = hash:/etc/postfix/virtual # ---- Rewrite address ---- sender_canonical_maps = regexp:/etc/postfix/sender_canonical recipient_canonical_maps = hash:/etc/postfix/recipient_canonical # ---- Redefine default transport ---- default_transport = local # ---- Relay all local transport to one email ---- local_recipient_maps = luser_relay = null # ---- Define normal smtp transport for some domain ---- transport_maps = hash:/etc/postfix/transport # ---- Access only my network ---- smtpd_client_restrictions = permit_mynetworks, reject
/etc/postfix/virtual
@bounces.domain.ua xxxx1@other-domain.com.ua root@colo.domain.ua xxxx2@other-domain.com.ua cron@colo.domain.ua xxxx3@other-domain.com.ua
/etc/postfix/sender_canonical
/^(.*)@(.*)$/ ${1}@dsn.domain.ua
/etc/postfix/transport
@gmail.com smtp:gmail.com other-domain.com.ua smtp:other-domain.com.ua

