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