Разрешить отправку только с определенного ящика

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
mediamag
лейтенант
Сообщения: 693
Зарегистрирован: 2008-10-02 20:49:21

Разрешить отправку только с определенного ящика

Непрочитанное сообщение mediamag » 2011-10-11 8:54:41

Доброго времени суток. Есть у меня такой запрет, который разрешает сыпать ящику zakaz почту с определенных IP.

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

deny  log_message     = "Wrong sender for this mailbox"
        !senders        = :
        domains         = +local_domains
        local_parts     = zakaz : blacklist
        !hosts          = +relay_from_hosts : +client_mail_hosts
        message         = This mailbox for not IP $sender_host_address
Но возникла задача принимать еще и с определенных адресов, типа tes1@domain test2@domain etc. Крутил sender_address, пытался написать кондишн в поле !senders. Так и не получилось((( Как написать правильный кондишн, чтобы я мог добавлять нужные адреса? Может быть написать еще один запрет, чем пихать в этот?

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

blade_007
ст. прапорщик
Сообщения: 571
Зарегистрирован: 2010-03-12 12:59:08
Контактная информация:

Re: Разрешить отправку только с определенного ящика

Непрочитанное сообщение blade_007 » 2011-10-11 21:02:26

Попробуйте нижеследующее условие, только его надо инвертировать либо сначала делать accept, потом ваш deny.
Проверяется условие - если элемент $sender_address в списке из ваших адресов, то ...

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

condition = ${if forany{test@fri.net:test@test.com:tt@com.au}{eq{$item}{$sender_address}}}
Проверка:

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

$ sudo exim -be
> ${if forany{test@fri.net:test@test.com:tt@com.au}{eq{$item}{test@fri.net}}}
true
> ${if forany{test@fri.net:test@test.com:tt@com.au}{eq{$item}{test@fri.1net}}}

>
Еще как вариант, в версии 4.77 появился очень удобный оператор inlist, который предназначен именно для такой проверки.

blade_007
ст. прапорщик
Сообщения: 571
Зарегистрирован: 2010-03-12 12:59:08
Контактная информация:

Re: Разрешить отправку только с определенного ящика

Непрочитанное сообщение blade_007 » 2011-10-11 21:28:37

Инвертирование

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

deny message = "Some message"
condition = ${if forany{test@fri.net:test@test.com:tt@com.au}{eq{$item}{$sender_address}}{no}{yes}}
local_parts     = zakaz : blacklist
Проверка:

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

> ${if forany{test@fri.net:test@test.com:tt@com.au}{eq{$item}{test@fri.net}}{no}{yes}}
no
> ${if forany{test@fri.net:test@test.com:tt@com.au}{eq{$item}{test@fri.0net}}{no}{yes}}
yes
>
Т.е. если если $sender_address в списке, то условие будет ложно и deny не сработает.
Как то так.

mediamag
лейтенант
Сообщения: 693
Зарегистрирован: 2008-10-02 20:49:21

Re: Разрешить отправку только с определенного ящика

Непрочитанное сообщение mediamag » 2011-10-11 21:31:40

Спасибо...мне подсказал дикенс еще проще вариант:

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

!senders = <> : mail@domain