George L. Yermulnik wrote:
> 
> On Wed, 30 Sep 2020 at 17:53:00 (+0700), Victor Sudakov wrote:
> 
> > А вот такие 2 условия, добавленные в acl_check_rcpt (контекст тоже привожу),
> > нормально выглядят или можно улучшить? А как бы их в одно логическое 
> > выражение
> > объединить, не подскажете?
> 
> >   # Accept mail for forwarded domains
> >   accept condition      = 
> > ${lookup{$local_part@$domain}lsearch{/etc/dovecot/aliases}{yes}}
> 
> >   # Accept valid recipient adresses in dovecot domains
> >   accept condition      = 
> > ${lookup{$local_part@$domain}lsearch{/etc/dovecot/users}{yes}}
> 
> По сути эти оба стейтмента покрываются тем, который ниже, т.к. он
> пропустит только домены из списков +local_domains и +relay_to_domains,

Ну у меня dovecot-овские домены в отдельном списке +dovecot_domains, но
не суть.

> но не закончит, а передаст нижеследующим стейтментам, если они есть.

Нижеследующих там только "require verify = recipient", а потом accept. И 
они мне не помогут отказать в приеме почты для несуществующих
пользователей в виртуальных доменах, потому что по LMTP невозможно
на ходу проверить, какие пользователи есть в dovecot, а каких нет. 

Т.е. теоретически можно было бы сделать какой-то callout в dovecot, но
он у меня по LMTP не заработал. Поэтому вот так проверяю заранее, по
базе пользователей dovecot.

Хотел бы только понять синтаксис, как эти два условия объединить в ИЛИ.

> Там где-то в конце блока acl_check_rcpt должен быть accept для всего,
> что дошло до него. В него (или перед ним) можно (нужно?) добавить
> проверку получателя, чтобы exim проверил его деливерабельность и выдал
> отлуп, если получатель undeliverable.

Не может он проверить деливерабельность по LMTP, в том и беда.
-- 
Victor Sudakov,  VAS4-RIPE, VAS47-RIPN
2:5005/49@fidonet http://vas.tomsk.ru/

_______________________________________________
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users

Ответить