URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 91150
[ Назад ]

Исходное сообщение
"разрешить входящие на адрес с пяти доменов "

Отправлено OpenMsk , 14-Мрт-11 08:47 
Здравствуйте, подскажите куда смотреть.
есть sendmail обслуживающий домен domain.ru, есть куча адресов, вреди них есть адрес "address@domain.ru".
Необходимо запретить все входящие письма на этот адрес, кроме писем приходящих с домена domain0.ru, domain1.ru и т.д.


Содержание

Сообщения в этом обсуждении
"разрешить входящие на адрес с пяти доменов "
Отправлено Дядя_Федор , 14-Мрт-11 11:56 
Посмотрите в сторону procmail.


"разрешить входящие на адрес с пяти доменов "
Отправлено OpenMsk , 14-Мрт-11 14:47 
> Посмотрите в сторону procmail.

а конфигом нельзя это сделать без установки новых костылей?


"разрешить входящие на адрес с пяти доменов "
Отправлено Medlar , 14-Мрт-11 14:55 
> Здравствуйте, подскажите куда смотреть.
> есть sendmail обслуживающий домен domain.ru, есть куча адресов, вреди них есть адрес
> "address@domain.ru".
> Необходимо запретить все входящие письма на этот адрес, кроме писем приходящих с
> домена domain0.ru, domain1.ru и т.д.

LOCAL_CONFIG
#Разрешенный домен отправителя:
KSnd regex -a@LIST2 (domain0)|domain1)$

LOCAL_RULESETS
SLocal_check_rcpt
R$*<address@domain.ru>     $: <@LIST1><$&f>        
Raddress@domain.ru        $: <@LIST1><$&f>    
R<@LIST1><$+@$+>             $: <$(Snd $2 $)>
R<@LIST1><@LIST2>             $@ OK
R<@LIST1><$+>             $#error $: 554 "Sorry, restricted account. Please contact to postmaster@yourdomain.ru"

Это черновое решение. ЗДесь не учтены бездоменные получатели, когда отправитель соединяется с вами напрямую и указывает просто имя юзера.

Также в дальнейшем понадобится для контроля вывод в лог неохваченных (провороненных) случаев что-то вроде
R$*<$+@$+>  $@ OK
R$+@$+    $@ OK
R$*                      $: $(syslog syslog:rcpt:1: $* $)


"разрешить входящие на адрес с пяти доменов "
Отправлено OpenMsk , 14-Мрт-11 16:28 
>[оверквотинг удален]
>  $#error $: 554 "Sorry, restricted account. Please contact to postmaster@yourdomain.ru"
> Это черновое решение. ЗДесь не учтены бездоменные получатели, когда отправитель соединяется
> с вами напрямую и указывает просто имя юзера.
> Также в дальнейшем понадобится для контроля вывод в лог неохваченных (провороненных) случаев
> что-то вроде
> R$*<$+@$+>  $@ OK
> R$+@$+    $@ OK
> R$*            
>           $:
> $(syslog syslog:rcpt:1: $* $)

ой ой, что то так сходу не уловил мысль. ЧТо б понять это, какой ман покурить?


"разрешить входящие на адрес с пяти доменов "
Отправлено Medlar , 14-Мрт-11 16:44 

> ой ой, что то так сходу не уловил мысль.

Которую?


"разрешить входящие на адрес с пяти доменов "
Отправлено OpenMsk , 14-Мрт-11 16:49 
>> ой ой, что то так сходу не уловил мысль.
> Которую?

LOCAL_RULESETS
SLocal_check_rcpt
R$*<address@domain.ru>     $: <@LIST1><$&f>        
Raddress@domain.ru        $: <@LIST1><$&f>    
R<@LIST1><$+@$+>             $: <$(Snd $2 $)>
R<@LIST1><@LIST2>             $@ OK
R<@LIST1><$+>             $#error $: 554 "Sorry, restricted account. Please contact to postmaster@yourdomain.ru"

Вот эту.
синтаксис оч. похож на файлик access что в /etc/mail/ однако в моём файлике нет таких строк


"разрешить входящие на адрес с пяти доменов "
Отправлено Medlar , 15-Мрт-11 12:58 
Ясно. Начнем с нуля.

В ваш sendmail.mc добавляете следующее:
LOCAL_CONFIG
#Разрешенный домен отправителя:
KSnd regex -a@LIST2 (domain0)|domain1)$

LOCAL_RULESETS
SLocal_check_rcpt
R$*<address@domain.ru>     $: <@LIST1><$&f>        
Raddress@domain.ru        $: <@LIST1><$&f>    
R<@LIST1><$+@$+>             $: <$(Snd $2 $)>
R<@LIST1><@LIST2>             $@ OK
R<@LIST1><$+>             $#error $: 554 "Sorry, restricted account. Please contact to postmaster@yourdomain.ru"

Затем пересобираете sendmail.mc и перезапускаете sendmail.
Отправляете тестовое письмо , сообщаете о результатах.