Доброго времени суток !Проблема в следующем при отправке почты exim-ом
почтовая сессия рвется на этапе прохождения ACLВсе рубится правилом
accept hosts = +relay_from_hosts
deny hosts =!+relay_from_hosts
message = domain isn't relayed
В начале конфига указан hostlist relay_from_hosts
hostlist relay_from_hosts =${lookup pgsql{SELECT hosts FROM relayfromhosts}}
в который выгребаются данные из pgsqlВ базе данных таблица relayfromhosts выглядит так:
exim=> select * from relayfromhosts;
hosts
----------------
localhost
192.168.0.0/16
(2 rows)exim=>
В случае, когда письмо отдается МТА локально, не происходит удаленного коннекта и переменная remote_hostname оказывается пустой. Соответственно, не проходится проверка на присутствие в списке релеимых хостов. Чтобы разрешить вброс писем в МТА с локалхоста, нужно в список разрешенных хостов добавить пустой хост. Это делается так:accept hosts = : +relay_from_hosts
Двоеточие разделяет списки хостов, первый список, от равенства до двоеточия, как раз пуст. Второй - это ваш, извлекаемый из БД.
Кстати, у вас два правила, а не одно. Первое - разрешающее пустой и БД-список, а второе - запрещающее все остальное с сообщением:deny message = domain isn't relayed
>[оверквотинг удален]
> МТА с локалхоста, нужно в список разрешенных хостов добавить пустой хост.
> Это делается так:
> accept hosts = :
> +relay_from_hosts
> Двоеточие разделяет списки хостов, первый список, от равенства до двоеточия, как раз
> пуст. Второй - это ваш, извлекаемый из БД.
> Кстати, у вас два правила, а не одно. Первое - разрешающее пустой
> и БД-список, а второе - запрещающее все остальное с сообщением:
> deny message = domain
> isn't relayedПроблема была в том , что
>>> host in "192.168.0.0/16
>>> localhost
>>> 10.10.10.5/32"? no (end of list)
>>> host in "!+relay_from_hosts"? yes (end of list)
>>> deny: condition test succeeded550 domain isn't relayed
LOG: H=(kgfk) [192.168.10.34] F=<hper@net> rejected RCPT hgj@net: domain isn't relayed
LOG: SMTP command timeout on connection from (kgfk) [192.168.10.34]таблица relayfromhosts создана сo столбцом hosts , который имеет тип данных text
поменял тип данных на cidr, проблема отпала
> поменял тип данных на cidr, проблема отпалаЯ конфиги храню в мускле, поля текстовые, все ок. Вероятно, специфика постгреса.