На почтовом сервере postfix, который обычно настроен для прямой отправки почты (интернет-сайт), я хочу реализовать проверку условного заголовка для некоторых доменов-получателей (в этом примере, чтобы упростить работу только с gmail.com), чтобы позволить postfix использовать умный хост. Но вместо аутентификации с помощью smarthost smtp.google.com он просто продолжает отправлять письма, адресованные To: * @ gmail *, напрямую (если я намеренно установил неправильный пароль, он не будет жаловаться).
Я создал следующие файлы в / etc / postfix /:
relay_passwd:
smtp.google.com mygmailaccount@gmail.com:mypassword
header_checks:
^To: <*@gmail*>/ FILTER relay:smtp.gmail.com:25
и сослался на них в main.cf с дополнительными параметрами:
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/relay_passwd
header_checks = regexp:/etc/postfix/header_checks
теперь я разместил файлы (и с тех пор перезапускал postfix слишком много раз):
# postmap relay_passwd
# postmap header_checks
и выдает предупреждение:
postmap: warning: header_checks, line 1: record is in "key: value" format; is this an alias file?
Но я думаю, проблема не в этом, не так ли? В любом случае, я, должно быть, делаю что-то не так.
Я нашел следующие темы, но они не совсем то, что мне нужно:
Использовать другое реле в постфиксе
Другой postfix relayhost в зависимости от пользователя системы?
Актуален ли порядок в main.cf? Регулярное выражение в header_checks в порядке?
Это должно сработать, конфигурация вашего реле выглядит нормально.
/^To: (.*?)@gmail.com$/ FILTER smtp:smtp.gmail.com
Кроме того, вам не нужно отправлять файлы регулярного выражения postmap.
Источник: Марселог