У меня есть установка Postfix, которая разрешает ретрансляции только из определенных доменов. Я делаю это с помощью relay_domains
flag в main.cf и запрашивает mysql, чтобы найти список разрешенных доменов.
relay_domains = mysql:/etc/postfix/mysql_domains.cf
Я хотел бы добавить header_checks
инструкция для вставки настраиваемого заголовка на основе результата проверки mysql для relay_domains
который покажет, какой домен был передан через Postfix. Причина этого в том, что если разрешенный домен - .domain.com, а адрес электронной почты получателя - something@subdomain.domain.com, я хотел бы знать, какой .domain.com Postfix разрешен в поиске.
У меня работают header_checks:
/^From:/i PREPEND X-Relay-Domain: xxx
Но я не уверен, как зафиксировать результат запроса домена и использовать его для header_checks PREPEND. Я также мог бы выполнить еще один поиск mysql на header_checks
но я бы хотел избежать этого, если возможно.
Возможно, вы можете использовать check_recipient_access
из постфикса.
smtpd_recipient_restriction = ...
...
check_recipient_access pcre:/etc/postfix/addheader
...
файл /etc/postfix/addheader
имеет подобное содержание
/.+@(.+)/ PREPEND X-Relay-Domain: $1
В доступ таблица, действие PREPEND добавит заголовок в ваше письмо. В этом случае эта карта добавит доменные части вашего получателя.