exim: не доставлять почту некоторым адресам

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

RommeDeSerieux
Сообщения: 2

exim: не доставлять почту некоторым адресам

Сообщение RommeDeSerieux »

Есть exim 4.68 в Ubuntu Hardy, его вызывыют как имитирующую sendmail обёртку и шлют письма. Мне необходимо, если в получателях таких писем есть определённый адрес, не слать письмо. Из чтения довольно запутанной документации чётко понял только то, что для этого мне нужен ACL под названием acl_not_smtp. Создал в директории /etc/exim4/cond.f/acl/ файл 50_exim4-config-not-smtp со следующим содержимым, где helloworld@example.com заменён на мой настоящий адрес на Google Apps:

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

acl_not_smtp:
  deny condition = ${if match{$recipients}{helloworld@example\.com}}


К сожалению, после перезапуска exim и попытки отправить письмо из командной строки оно было исправно доставлено гуглу. Что можно сделать?
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: exim: не доставлять почту некоторым адресам

Сообщение Ленивая Бестолочь »

я бы это засунул в acl_check_rcpt примерно так:

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

deny
  message = resticted address
  condition  =  ${lookup {$local_part@$domain} lsearch {/etc/exim4/banned} {yes} {no} }


в файле /etc/exim4/banned - список заблокированных адресов.
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
RommeDeSerieux
Сообщения: 2

Re: exim: не доставлять почту некоторым адресам

Сообщение RommeDeSerieux »

acl_check_smtp ведь работает только когда с exim общаются по smtp
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: exim: не доставлять почту некоторым адресам

Сообщение Ленивая Бестолочь »

acl_check_smtp ведь работает только когда с exim общаются по smtp

acl_check_rcpt применяется когда получена строка "rcpt to:".

The non-SMTP ACLs apply to all non-interactive incoming messages, that is, they apply to batched SMTP as well as to non-SMTP messages. (Batched SMTP is not really SMTP.) Many of the ACL conditions (for example, host tests, and tests on the state of the SMTP connection such as encryption and authentication) are not relevant and are forbidden in these ACLs. However, the sender and recipients are known, so the senders and sender_domains conditions and the $sender_address and $recipients variables can be used. Variables such as $authenticated_sender are also available. You can specify added header lines in any of these ACLs.

The acl_not_smtp_start ACL is run right at the start of receiving a non-SMTP message, before any of the message has been read. (This is the analogue of the acl_smtp_predata ACL for SMTP input.) In the case of batched SMTP input, it runs after the DATA command has been reached. The result of this ACL is ignored; it cannot be used to reject a message. If you really need to, you could set a value in an ACL variable here and reject based on that in the acl_not_smtp ACL. However, this ACL can be used to set controls, and in particular, it can be used to set


если я все правильно понимаю: acl_not_smtp предназначен не для SMTP.
кроме того
The result of this ACL is ignored; it cannot be used to reject a message.
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
zmichael
Сообщения: 1

Re: exim: не доставлять почту некоторым адресам

Сообщение zmichael »

на самом деле письмо остановить на этапе non-smtp может обычный deny.
У Вас в конце концов получилось это реализовать ?
Спасибо сказали: