Postfix — исключить сообщения с определенными значениями заголовков из relayhost?

Postfix — исключить сообщения с определенными значениями заголовков из relayhost?

Начнем со следующей базовой конфигурации для ретрансляции всех сообщений Postfix на PostMarkApp.com:

#start postmarkapps settings
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = static:secret:secret (where "secret is your API key")
smtp_sasl_security_options = noanonymous
relayhost = [smtp.postmarkapp.com]:25
#end postmarkapp settings

Проблема в том, что если, например, что-то начнет выдавать сообщения об ошибках, все они пройдут через PostMark и будут стоить денег.

Один из способов обойти relayhostэто настроить sender_dependent_relayhost_mapsи сопоставить определенные адреса с yourdomain.com. Но это не работает в веб-приложениях, где все сообщения отправляются одним и тем же пользователем, но с разными заголовками From.

Как же мне добиться того же эффекта, sender_dependent_relayhost_mapsно при этом смотреть на заголовки «От» и «Тема», а не только на имя пользователя?

решение1

Вам потребуется Postfix 2.5 или более поздняя версия.

Затем в main.cfнаборе smtp_header_checks = pcre:/etc/postfix/dont_relay_this_header.

В /etc/postfix/dont_relay_this_headerписьменном виде

/^Subject:.*viagra/  REJECT You are not allowed to send out advertisement

Измените содержимое файла dont_relay_this_header по своему усмотрению. Более подробная информация доступна вheader_checksруководство.

решение2

Я решил эту проблему, атаковав с другой стороны, т. е. не отправляя почту определенному получателю через relayhost.

Редактировать /etc/postfix/main.cf:

#start postmarkapps settings
transport_maps = hash:/etc/postfix/transport
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = static:secret:secret (where "secret is your API key")
smtp_sasl_security_options = noanonymous
relayhost =
#end postmarkapp settings

Редактировать /etc/postfix/transport:

[email protected] :
* smtp:[smtp.postmarkapp.com]:25

И беги postmap /etc/postfix/transport.

Теперь я просто отправляю все свои сообщения об ошибках на[email protected]и они не отправляются через почтовый штемпель.

Связанный контент