Назад | Перейти на главную страницу

Условное использование relay (smarthost) для доменов получателей, соответствующих header_checks в постфиксе

На почтовом сервере 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.

Источник: Марселог