Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по Linux (http://forum.oszone.net/forumdisplay.php?f=9)
-   -   postfix & pcre - обработка - нужна помощь (http://forum.oszone.net/showthread.php?t=351879)

NoIZz 09-09-2022 19:39 2992165

postfix & pcre - обработка - нужна помощь
 
Всем добрый день!

Имеем виртуалку
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


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

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

Спасибо!


Время: 03:08.

Время: 03:08.
© OSzone.net 2001-