Проверить sender из локального домена в ACL, как?

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Brom
проходил мимо
Сообщения: 9
Зарегистрирован: 2006-11-16 14:28:39

Проверить sender из локального домена в ACL, как?

Непрочитанное сообщение Brom » 2006-11-16 14:46:50

Господа, помогите, за Exim засел недавно, и что-то никак не даются эти ACL. Никак узреть суть не могу.

Вот что хотелось бы, проверять mail from на предмет наличия в локальном домене на уровне ACL. Т.е. чтобы после ввода rcpt был отлуп в виде "550 not local sender over smtp". При включенном require verify sender, он то проверят, но уже на уровне роутеров(видно из логов mysql, select идет из таблиц aliases, users). А это ИМХо есть криво. Да и ответ на несущ. локального пользователя приходит вида "анроутабле адрес".
Если конечно я в правильном направлении мыслю!

Никак не могу столкнуться с места и писать эти ACL правильно.
Заранее спасибо!

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Непрочитанное сообщение dikens3 » 2006-11-16 14:52:15

По поводу unroutable address.
virtual_localuser:
driver = accept
domains = ${lookup pgsql{SELECT domain FROM domains WHERE domain='${domain}'}}
local_parts = ${lookup pgsql{SELECT login FROM users WHERE login='${local_part}' AND domain='${domain}'}}
transport = local_delivery
cannot_route_message = Unknown user
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Brom
проходил мимо
Сообщения: 9
Зарегистрирован: 2006-11-16 14:28:39

Непрочитанное сообщение Brom » 2006-11-16 15:08:38

dikens3, спасибо, этот unroutable address сбил меня с толку касательно правильно механизма обработки. Тем паче cannot_route_message = Unknown local user в конфиге в секции localuser присутствует, не заметил, короче RTFM.

Brom
проходил мимо
Сообщения: 9
Зарегистрирован: 2006-11-16 14:28:39

Непрочитанное сообщение Brom » 2006-11-16 16:52:13

В продолжение темы, пользователей типа someuser@localdomain он проверяет, если отправителя нет, отлуп. Но вот если mail from:someuser@somedomain, то отправлять дает. Как прибить такое?

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Непрочитанное сообщение dikens3 » 2006-11-16 17:49:52

1. Запретить отправлять с лок. сети.
2. Настроить Аутентификацию.

Код: Выделить всё

...
# Запрещаем, если невозможно проверить лок. отправителя.
  require verify        = sender

# Принимаем, если аутентифицировался, получаетель наш домен, и пользователь существует.
  accept  authenticated = *
          domains       = +local_domains
          message       = "Unknown user"
          verify        = recipient

# Проверяем, существует ли получатель
  deny    log_message   = Recipient verify failed
          hosts         = +my_lan_hosts
         !verify        = recipient/callout=20s,defer_ok

# Принимаем, если аутентифицировался и получаетель СУЩЕСТВУЮЩИЙ внешний домен.
  accept  authenticated = *
          domains       = !+local_domains
...
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.