Добавить пользовательский заголовок в Postfix с ретранслируемым доменом

Добавить пользовательский заголовок в Postfix с ретранслируемым доменом

У меня есть настройка 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 добавит заголовок в ваше письмо. В этом случае эта карта добавит части домена вашего получателя.

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