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

Исходное сообщение
"Как в sendmail запретить прием писем с пустым From ?"

Отправлено valent , 24-Сен-03 09:40 
Доки читал, но про синтаксис правил написания sendmail.mc ничего толкового не нашел... подскажите, пожалуста, хоть где искать.
Интересует вот такая конструкция:
...
LOCAL_RULESETS
Kstorage macro
HTo: $>CheckTo
HCC: $>CheckTo
HBCC: $>CheckTo
SCheckTo
R$*     $: $(storage {Spam} $@ OK $) $1
R$*.energy.gov.ua$*     $: $(storage {Spam} $@ OK $) $1
Scheck_eoh
R$*     $: < $&{Spam} >
R$*     $: $(storage {Spam} $) $1
R< $+ > $@ OK
R$*     $#discard $: discard
...
я так понимаю нужно добавить:
HFrom:  $>CheckFrom
и
SCheckFrom
<а здесь правило>    но как его написать ?
Спасибо.

Содержание

Сообщения в этом обсуждении
"Как в sendmail запретить прием писем с пустым From ?"
Отправлено Z0termaNN , 24-Сен-03 12:33 
>Доки читал, но про синтаксис правил написания sendmail.mc ничего толкового не нашел...
>подскажите, пожалуста, хоть где искать.
>Интересует вот такая конструкция:
>...
>LOCAL_RULESETS
>Kstorage macro
>HTo: $>CheckTo
>HCC: $>CheckTo
>HBCC: $>CheckTo
>SCheckTo
>R$*     $: $(storage {Spam} $@ OK $) $1
>
>R$*.energy.gov.ua$*     $: $(storage {Spam} $@ OK $) $1
>
>Scheck_eoh
>R$*     $: < $&{Spam} >
>R$*     $: $(storage {Spam} $) $1
>R< $+ > $@ OK
>R$*     $#discard $: discard
>...
>я так понимаю нужно добавить:
>HFrom:  $>CheckFrom

>SCheckFrom
><а здесь правило>    но как его написать ?
>Спасибо.


если ты таким способом надеешся фильтровать спам, то это не сильно
поможет. Примерно так:


SCheckFrom
R $+            $@ OK
R $*            $#error $: Illegal From Header


"Как в sendmail запретить прием писем с пустым From ?"
Отправлено valent , 24-Сен-03 12:45 
>если ты таким способом надеешся фильтровать спам, то это не сильно
>поможет. Примерно так:
>
>
>SCheckFrom
>R $+          
> $@ OK
>R $*          
> $#error $: Illegal From Header

Это не от спама, есть некоторые особенности...
Хорошо, а где есть описание этих таинственных мантр ?
Что это означает ?


"Как в sendmail запретить прием писем с пустым From ?"
Отправлено lavr , 24-Сен-03 12:49 
>>если ты таким способом надеешся фильтровать спам, то это не сильно
>>поможет. Примерно так:
>>
>>
>>SCheckFrom
>>R $+          
>> $@ OK
>>R $*          
>> $#error $: Illegal From Header
>
>Это не от спама, есть некоторые особенности...
>Хорошо, а где есть описание этих таинственных мантр ?
>Что это означает ?

расширенный поиск через groups.google.com по группе *sendmail* даст
много интересного.


"Как в sendmail запретить прием писем с пустым From ?"
Отправлено Z0termaNN , 24-Сен-03 12:59 
>>если ты таким способом надеешся фильтровать спам, то это не сильно
>>поможет. Примерно так:
>>
>>
>>SCheckFrom
>>R $+          
>> $@ OK
>>R $*          
>> $#error $: Illegal From Header
>
>Это не от спама, есть некоторые особенности...
>Хорошо, а где есть описание этих таинственных мантр ?
>Что это означает ?

да вообще-то литературы по sendmail завались, поищи на sendmail.org по
ссылкам. Например http://www.trimm.nl/sendmail/
R $+  - ищет есть ли хоть один символ в заголовке From и успешно
возвращается
если ничего не найдено, то вызывается правило, которое ищет ноль или
более tokens (в нашем случае 0, т.к. один уже проверили), оно будет
всегда совпадать. В результате чего вызывается агент доставки error.


"Как в sendmail запретить прием писем с пустым From ?"
Отправлено valent , 24-Сен-03 13:06 
спасибо. будем разбираться...

"Как в sendmail запретить прием писем с пустым From ?"
Отправлено Dmitry , 25-Сен-03 14:05 
>>Доки читал, но про синтаксис правил написания sendmail.mc ничего толкового не нашел...
>>подскажите, пожалуста, хоть где искать.
>>Интересует вот такая конструкция:
>>...
>>LOCAL_RULESETS
>>Kstorage macro
>>HTo: $>CheckTo
>>HCC: $>CheckTo
>>HBCC: $>CheckTo
>>SCheckTo
>>R$*     $: $(storage {Spam} $@ OK $) $1
>>
>>R$*.energy.gov.ua$*     $: $(storage {Spam} $@ OK $) $1
>>
>>Scheck_eoh
>>R$*     $: < $&{Spam} >
>>R$*     $: $(storage {Spam} $) $1
>>R< $+ > $@ OK
>>R$*     $#discard $: discard
>>...
>>я так понимаю нужно добавить:
>>HFrom:  $>CheckFrom
>>и
>>SCheckFrom
>><а здесь правило>    но как его написать ?
>>Спасибо.
>
>
>если ты таким способом надеешся фильтровать спам, то это не сильно
>поможет. Примерно так:
>
>
>SCheckFrom
>R $+          
> $@ OK
>R $*          
> $#error $: Illegal From Header

Не сочтите за труд, подскажите в каком месте sendmail.cf ставить это


"Как в sendmail запретить прием писем с пустым From ?"
Отправлено valent , 25-Сен-03 14:11 
>Не сочтите за труд, подскажите в каком месте sendmail.cf ставить это

Эта конструкция ставиться в конце файла в разделе LOCAL_RULESETS.
Но только в sendmail.mc. А sendmail.cf редактировать не рекомендуется.


"Как в sendmail запретить прием писем с пустым From ?"
Отправлено Dmitry , 25-Сен-03 14:14 
>>Не сочтите за труд, подскажите в каком месте sendmail.cf ставить это
>
>Эта конструкция ставиться в конце файла в разделе LOCAL_RULESETS.
>Но только в sendmail.mc. А sendmail.cf редактировать не рекомендуется.


Я ясно,  что не рекомендуется, ну а все же где это можно поставить, писма с пустым From задолбали.


"Как в sendmail запретить прием писем с пустым From ?"
Отправлено valent , 25-Сен-03 14:18 
>Я ясно,  что не рекомендуется, ну а все же где это
>можно поставить, писма с пустым From задолбали.

часть моего sendmail.mc:
...
LOCAL_RULESETS
Kstorage macro
HTo: $>CheckTo
HCC: $>CheckTo
HBCC: $>CheckTo
HFrom:  $>CheckFrom
SCheckFrom
R$+     $@ OK
R$*     $#error $: Illegal From Header
SCheckTo
R$*     $: $(storage {Spam} $@ OK $) $1
R$*.energy.gov.ua$*     $: $(storage {Spam} $@ OK $) $1
Scheck_eoh
R$*     $: < $&{Spam} >
R$*     $: $(storage {Spam} $) $1
R< $+ > $@ OK
R$*     $#discard $: discard


"Как в sendmail запретить прием писем с пустым From ?"
Отправлено Dmitry , 25-Сен-03 14:31 
>>Не сочтите за труд, подскажите в каком месте sendmail.cf ставить это
>
>Эта конструкция ставиться в конце файла в разделе LOCAL_RULESETS.
>Но только в sendmail.mc. А sendmail.cf редактировать не рекомендуется.

Понятно!
Ну а если в *.mc

....
dnl if you aren't using Sendmail 8.12, you might need to remove                                                                    
dnl the following feature.                                                                  FEATURE(`preserve_local_plus_detail')                                            FEATURE(`mailertable', 'hash -o /etc/mail/mailertable')                                                 FEATURE(`nocanonify')                                                            FEATURE(`always_add_domain')                                                     MAILER(`local')                                                                 MAILER(`smtp')                                                                  MAILER(`fax')dnl                                                                       MAILER_DEFINITIONS                                                        Mcyrus,         P=[IPC], F=lsDFMnqA@/:|SmXz, E=\r\n,                                                                                   S=EnvFromL, R=EnvToL/HdrToL, T=DNS/RFC822/X-Unix,                                                                  
                A=FILE /var/imap/socket/lmtp                                                                                                        
LOCAL_RULE_0                                                                                                                        
Rbb + $+ < @ $=w . >    $#cyrus $: + $1    


SCheckFrom
R $+            $@ OK
R $*            $#error $: Illegal From Header

Так !!!


"Как в sendmail запретить прием писем с пустым From ?"
Отправлено valent , 25-Сен-03 14:38 
>Понятно!
>Ну а если в *.mc
>
>....
>dnl if you aren't using Sendmail 8.12, you might need to remove
>
>dnl the following feature.        
>  FEATURE(`preserve_local_plus_detail')        
>          
>          
>          
>  FEATURE(`mailertable', 'hash -o /etc/mail/mailertable')      
>          
>          
>          
>          FEATURE(`nocanonify')
>          
>          
>          
>          
>          
>    FEATURE(`always_add_domain')      
>          
>          
>          
>          
>  MAILER(`local')        
>          
>          
>          
>          
>          
> MAILER(`smtp')          
>          
>          
>          
>          
>          
> MAILER(`fax')dnl          
>          
>          
>          
>          
>          
>      MAILER_DEFINITIONS    
>          
>          
>          
>          
>       Mcyrus,    
>     P=[IPC], F=lsDFMnqA@/:|SmXz, E=\r\n,    
>          
>          
>          
>          
>          
>          
>          
>  S=EnvFromL, R=EnvToL/HdrToL, T=DNS/RFC822/X-Unix,
>            
>    A=FILE /var/imap/socket/lmtp
>LOCAL_RULE_0
>Rbb + $+ < @ $=w . >    $#cyrus $: + $1    
>
>
>SCheckFrom
>R $+          
> $@ OK
>R $*          
> $#error $: Illegal From Header
>
>Так !!!

Мне кажется, так работать не будет. Правило есть, но нет на него ссылки.
Хотя может я и ошибаюсь, я только недавно это сам узнал.


"Как в sendmail запретить прием писем с пустым From ?"
Отправлено Dmitry , 25-Сен-03 14:43 
>>Понятно!
>>Ну а если в *.mc
>>
>>....
>>dnl if you aren't using Sendmail 8.12, you might need to remove
>>
>>dnl the following feature.        
>>  FEATURE(`preserve_local_plus_detail')        
>>          
>>          
>>          
>>  FEATURE(`mailertable', 'hash -o /etc/mail/mailertable')      
>>          
>>          
>>          
>>          FEATURE(`nocanonify')
>>          
>>          
>>          
>>          
>>          
>>    FEATURE(`always_add_domain')      
>>          
>>          
>>          
>>          
>>  MAILER(`local')        
>>          
>>          
>>          
>>          
>>          
>> MAILER(`smtp')          
>>          
>>          
>>          
>>          
>>          
>> MAILER(`fax')dnl          
>>          
>>          
>>          
>>          
>>          
>>      MAILER_DEFINITIONS    
>>          
>>          
>>          
>>          
>>       Mcyrus,    
>>     P=[IPC], F=lsDFMnqA@/:|SmXz, E=\r\n,    
>>          
>>          
>>          
>>          
>>          
>>          
>>          
>>  S=EnvFromL, R=EnvToL/HdrToL, T=DNS/RFC822/X-Unix,
>>            
>>    A=FILE /var/imap/socket/lmtp
>>LOCAL_RULE_0
>>Rbb + $+ < @ $=w . >    $#cyrus $: + $1    
>>
>>
>>SCheckFrom
>>R $+          
>> $@ OK
>>R $*          
>> $#error $: Illegal From Header
>>
>>Так !!!
>
>Мне кажется, так работать не будет. Правило есть, но нет на него
>ссылки.
>Хотя может я и ошибаюсь, я только недавно это сам узнал.


Не понял,  так как мне его вставлять?


"Как в sendmail запретить прием писем с пустым From ?"
Отправлено valent , 25-Сен-03 14:49 
>>>Понятно!
>>>Ну а если в *.mc
>>>
>>>....
>>>dnl if you aren't using Sendmail 8.12, you might need to remove
>>>
>>>dnl the following feature.        
>>>  FEATURE(`preserve_local_plus_detail')        
>>>          
>>>          
>>>          
>>>  FEATURE(`mailertable', 'hash -o /etc/mail/mailertable')      
>>>          
>>>          
>>>          
>>>          FEATURE(`nocanonify')
>>>          
>>>          
>>>          
>>>          
>>>          
>>>    FEATURE(`always_add_domain')      
>>>          
>>>          
>>>          
>>>          
>>>  MAILER(`local')        
>>>          
>>>          
>>>          
>>>          
>>>          
>>> MAILER(`smtp')          
>>>          
>>>          
>>>          
>>>          
>>>          
>>> MAILER(`fax')dnl          
>>>          
>>>          
>>>          
>>>          
>>>          
>>>      MAILER_DEFINITIONS    
>>>          
>>>          
>>>          
>>>          
>>>       Mcyrus,    
>>>     P=[IPC], F=lsDFMnqA@/:|SmXz, E=\r\n,    
>>>          
>>>          
>>>          
>>>          
>>>          
>>>          
>>>          
>>>  S=EnvFromL, R=EnvToL/HdrToL, T=DNS/RFC822/X-Unix,
>>>            
>>>    A=FILE /var/imap/socket/lmtp
>>>LOCAL_RULE_0
>>>Rbb + $+ < @ $=w . >    $#cyrus $: + $1    
>>>
>>>
>>>SCheckFrom
>>>R $+          
>>> $@ OK
>>>R $*          
>>> $#error $: Illegal From Header
>>>
>>>Так !!!
>>
>>Мне кажется, так работать не будет. Правило есть, но нет на него
>>ссылки.
>>Хотя может я и ошибаюсь, я только недавно это сам узнал.
>
>
>Не понял,  так как мне его вставлять?

Так как я показывал ранее (конец моего sendmail.mc). Добавь эти строки в конец своего конфига.


"Как в sendmail запретить прием писем с пустым From ?"
Отправлено Dmitry , 25-Сен-03 16:10 
>>>>Понятно!
>>>>Ну а если в *.mc
>>>>
>>>>....
>>>>dnl if you aren't using Sendmail 8.12, you might need to remove
>>>>
>>>>dnl the following feature.        
>>>>  FEATURE(`preserve_local_plus_detail')        
>>>>          
>>>>          
>>>>          
>>>>  FEATURE(`mailertable', 'hash -o /etc/mail/mailertable')      
>>>>          
>>>>          
>>>>          
>>>>          FEATURE(`nocanonify')
>>>>          
>>>>          
>>>>          
>>>>          
>>>>          
>>>>    FEATURE(`always_add_domain')      
>>>>          
>>>>          
>>>>          
>>>>          
>>>>  MAILER(`local')        
>>>>          
>>>>          
>>>>          
>>>>          
>>>>          
>>>> MAILER(`smtp')          
>>>>          
>>>>          
>>>>          
>>>>          
>>>>          
>>>> MAILER(`fax')dnl          
>>>>          
>>>>          
>>>>          
>>>>          
>>>>          
>>>>      MAILER_DEFINITIONS    
>>>>          
>>>>          
>>>>          
>>>>          
>>>>       Mcyrus,    
>>>>     P=[IPC], F=lsDFMnqA@/:|SmXz, E=\r\n,    
>>>>          
>>>>          
>>>>          
>>>>          
>>>>          
>>>>          
>>>>          
>>>>  S=EnvFromL, R=EnvToL/HdrToL, T=DNS/RFC822/X-Unix,
>>>>            
>>>>    A=FILE /var/imap/socket/lmtp
>>>>LOCAL_RULE_0
>>>>Rbb + $+ < @ $=w . >    $#cyrus $: + $1    
>>>>
>>>>
>>>>SCheckFrom
>>>>R $+          
>>>> $@ OK
>>>>R $*          
>>>> $#error $: Illegal From Header
>>>>
>>>>Так !!!
>>>
>>>Мне кажется, так работать не будет. Правило есть, но нет на него
>>>ссылки.
>>>Хотя может я и ошибаюсь, я только недавно это сам узнал.
>>
>>
>>Не понял,  так как мне его вставлять?
>
>Так как я показывал ранее (конец моего sendmail.mc). Добавь эти строки в
>конец своего конфига.

Добавил!

после рестарта
# ./rc.sendmail restart
554 5.0.0 /etc/mail/sendmail.cf: line 1213: unknown configuration line "
"
554 5.0.0 /etc/mail/sendmail.cf: line 1220: invalid rewrite line "R+     @ OK" (tab expected)
554 5.0.0 /etc/mail/sendmail.cf: line 1221: invalid rewrite line "R*     #error : Illegal From Header" (tab expected)
554 5.0.0 /etc/mail/sendmail.cf: line 1223: invalid rewrite line "R*     : (storage {Spam} @ OK ) 1" (tab expected)
554 5.0.0 /etc/mail/sendmail.cf: line 1224: invalid rewrite line "R*.energy.gov.ua*     : (storage {Spam} @ OK ) 1" (tab expected)
554 5.0.0 /etc/mail/sendmail.cf: line 1226: invalid rewrite line "R*     : < &1 >" (tab expected)
554 5.0.0 /etc/mail/sendmail.cf: line 1227: invalid rewrite line "R*     : (storage {Spam} ) 1" (tab expected)
554 5.0.0 /etc/mail/sendmail.cf: line 1228: invalid rewrite line "R< + > @ OK" (tab expected)
554 5.0.0 /etc/mail/sendmail.cf: line 1229: invalid rewrite line "R*     #discard : discard" (tab expected)
Starting sendmail MSP queue runner:  /usr/sbin/sendmail -L sm-msp-queue -Ac -q25m
/etc/mail/submit.cf: line 0: cannot open: No such file or directory


"Как в sendmail запретить прием писем с пустым From ?"
Отправлено valent , 25-Сен-03 16:15 
>после рестарта
># ./rc.sendmail restart
>554 5.0.0 /etc/mail/sendmail.cf: line 1213: unknown configuration line "
>"
>554 5.0.0 /etc/mail/sendmail.cf: line 1220: invalid rewrite line "R+    
> @ OK" (tab expected)
>554 5.0.0 /etc/mail/sendmail.cf: line 1221: invalid rewrite line "R*    
> #error : Illegal From Header" (tab expected)
>554 5.0.0 /etc/mail/sendmail.cf: line 1223: invalid rewrite line "R*    
> : (storage {Spam} @ OK ) 1" (tab expected)
>554 5.0.0 /etc/mail/sendmail.cf: line 1224: invalid rewrite line "R*.energy.gov.ua*    
> : (storage {Spam} @ OK ) 1" (tab expected)
>554 5.0.0 /etc/mail/sendmail.cf: line 1226: invalid rewrite line "R*     : < &1 >" (tab expected)
>554 5.0.0 /etc/mail/sendmail.cf: line 1227: invalid rewrite line "R*    
> : (storage {Spam} ) 1" (tab expected)
>554 5.0.0 /etc/mail/sendmail.cf: line 1228: invalid rewrite line "R< + > @ OK" (tab expected)
>554 5.0.0 /etc/mail/sendmail.cf: line 1229: invalid rewrite line "R*    
> #discard : discard" (tab expected)
>Starting sendmail MSP queue runner:  /usr/sbin/sendmail -L sm-msp-queue -Ac -q25m
>/etc/mail/submit.cf: line 0: cannot open: No such file or directory

здесь разделение должно происходить посредством таба, а не пробела.


"Как в sendmail запретить прием писем с пустым From ?"
Отправлено Dmitry , 25-Сен-03 18:19 
>>после рестарта
>># ./rc.sendmail restart
>>554 5.0.0 /etc/mail/sendmail.cf: line 1213: unknown configuration line "
>>"
>>554 5.0.0 /etc/mail/sendmail.cf: line 1220: invalid rewrite line "R+    
>> @ OK" (tab expected)
>>554 5.0.0 /etc/mail/sendmail.cf: line 1221: invalid rewrite line "R*    
>> #error : Illegal From Header" (tab expected)
>>554 5.0.0 /etc/mail/sendmail.cf: line 1223: invalid rewrite line "R*    
>> : (storage {Spam} @ OK ) 1" (tab expected)
>>554 5.0.0 /etc/mail/sendmail.cf: line 1224: invalid rewrite line "R*.energy.gov.ua*    
>> : (storage {Spam} @ OK ) 1" (tab expected)
>>554 5.0.0 /etc/mail/sendmail.cf: line 1226: invalid rewrite line "R*     : < &1 >" (tab expected)
>>554 5.0.0 /etc/mail/sendmail.cf: line 1227: invalid rewrite line "R*    
>> : (storage {Spam} ) 1" (tab expected)
>>554 5.0.0 /etc/mail/sendmail.cf: line 1228: invalid rewrite line "R< + > @ OK" (tab expected)
>>554 5.0.0 /etc/mail/sendmail.cf: line 1229: invalid rewrite line "R*    
>> #discard : discard" (tab expected)
>>Starting sendmail MSP queue runner:  /usr/sbin/sendmail -L sm-msp-queue -Ac -q25m
>>/etc/mail/submit.cf: line 0: cannot open: No such file or directory
>
>здесь разделение должно происходить посредством таба, а не пробела.


Поставил, вроде работает, время покажет, спасибо!