LINUX.ORG.RU
ФорумAdmin

smtp daemon с поддержкой нескольких smarthost-ов с аунтефикацией.


0

0

Есть несколько аккаунтов на удалённых smtp-серверах. Нужен smtp сервер на локалной машине который умеет следующее: в зависимости от поля в заголовке письма направлять письмо через заданный серевер.

Например если заголовок содержит поле 'X-Mailer: <some regex>', то посылать письмо через smtp.server1, использовать имя/пароль vasia/pass, использовать cram-md5, использовать tls; если заголовок содержит поле 'Subject: <some regex>', то посылать письмо через smtp.server2, использовать имя/пароль kolia/pass, не использовать cram-md5, использовать tls и т. д. Если письмо не подпадает ни под одно правило то исползовать маршрут по-умолчанию - smtp.default, def_user/pass.

Всё это можно решить с помощью всяких сторонних скриптов, но хотелось бы чтобы всю работу делал один smtp-сервер. Смотрю в сторону postfix-a - если он это умеет то подскажите как параметры для этого называются. Или может кто покажет пример (или кинет ссылку на пример).

anonymous

Я так не пробовал, но вижу примерно следующее решение задачи (postfix 2.2). Дополнительные параметры добавляются/меняются по необходимости.

/etc/postfix/main.cf:
header_checks = regexp:/etc/postfix/header_checks
default_transport = smtp-default:smtp.default
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_use_tls = yes
smtp_tls_cert_file = /etc/postfix/client.pem
smtp_tls_key_file = $smtp_tls_cert_file

/etc/postfix/header_checks:
/^X-Mailer: <some regex>/ FILTER smtp-server1:smtp.server1
/^Subject: <some regex>/ FILTER smtp-server2:smtp.server2

/etc/postfix/master.cf:
smtp-server1 unix - - n - - smtp
-o smtp_sasl_mechanism_filter = cram-md5

smtp-server2 unix - - n - - smtp
-o smtp_sasl_mechanism_filter = !cram-md5
-o smtp_sasl_security_options =

smtp-default unix - - n - - smtp
-o smtp_sasl_mechanism_filter = cram-md5

/etc/postfix/sasl_passwd:
smtp.server1 vasia:pass
smtp.server2 kolia:pass
smtp.default def_user:pass

jonatan
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.