Прочее - postfix & pcre - обработка - нужна помощь

Ответить
Аватара пользователя
NoIZz

Прочее - postfix & pcre - обработка - нужна помощь

Сообщение NoIZz »

Всем добрый день!



Имеем виртуалку

2 интерфейса - в локалку (влан управления и для пересылки на внутренний почтовик) и в инет

На инет интерфейсе 3 ip



В виртуалке centos 7 - на нем postfix, dovecot, rspamd и clamd ну и fail2ban

3 домена

ip/домены забиндены на внешние ip

senders_transport настроен - в зависимости от домена хелокается и отправляет с соответствующего ip

dkim/dmarc - подписи делает rspamd - все норм

Вобщем все настроено и работает



Однако появилось несколько нетривиальных задачек по обработке писем

Ме надо хитро менять некоторые заголовки в зависимости от домена

Мне не нужно маппить адреса и тп



Обработки

header_checks=pcre:/etc/postfix/pcre/domain/header_checks.pcre

smtp_header_checks=pcre:/etc/postfix/pcre/domain/smtp_header_checks.pcre

body_checks=pcre:/etc/postfix/pcre/domain/body_checks.pcre

smtp_body_checks=pcre:/etc/postfix/pcre/domain/smtp_body_checks.pcre



работают только если их указать в main.cf



Поскольку в обработчике постфикса нельзя делать нормальные условия с вложенными условиями и тп - тк за раз обрабатывается только одна строка/заголовок - пытаюсь понять как мне привязать свои обработки к каждому домену - для каждого домена свои pcre

Нужно только для тех сообщений, которые идут из локалки или от авторизованных отправителей, если это приходящие из инета их вообще обрабатывать не надо



такое вот не работает хотя postfix и не ругается (ни для smtp/smtps ни для submisson)



xxx.xxx.xxx.xxx:smtp inet n - n - - smtpd

-o syslog_name=postfix/smtp/domain.tld

-o smtp_helo_name=mail.domain.tld

-o smtp_bind_address=xxx.xxx.xxx.xxx

-o myhostname=mail.domain.tld

-o milter_macro_daemon_name=ORIGINATING

-o smtpd_tls_key_file=/etc/postfix/certs/domain.tld_key.pem

-o smtpd_tls_cert_file=/etc/postfix/certs/domain.tld_cert.pem

-o header_checks=pcre:/etc/postfix/pcre/domain/header_checks.pcre

-o smtp_header_checks=pcre:/etc/postfix/domain/smtp_header_checks.pcre

-o body_checks=pcre:/etc/postfix/pcre/domain/body_checks.pcre

-o smtp_body_checks=pcre:/etc/postfix/pcre/domain/smtp_body_checks.pcre



может добавить в конфиг транспорта?

сделать сервис для cleanup



cleanup_out_domain unix n - n - 0 cleanup

-o header_checks=pcre:/etc/postfix/pcre/domain/header_checks.pcre

-o smtp_header_checks=pcre:/etc/postfix/pcre/domain/smtp_header_checks.pcre

-o body_checks=pcre:/etc/postfix/pcre/domain/body_checks.pcre

-o smtp_body_checks=pcre:/etc/postfix/pcre/domain/smtp_body_checks.pcre



и добавить в транспорт

out_domain.tld unix - - n - - smtp

-o cleanup_service_name=cleanup_out_domain

-o syslog_name=postfix/out/domain.tld

-o smtp_bind_address=xxx.xxx.xxx.xxx

-o smtp_helo_name=mail.domain.tld





Как мне это реализовать? Может кто знает?



Пробовал и так и эдак - не взлетает (((



Спасибо!
Ответить

Вернуться в «Общий по Linux»