>> deny message = RFC compliant Message-Id required.
>> log_message = Message-Id required.
>> hosts = !+white_hosts
>> condition = ${if !match{$h_message-id:}{\N<.+@.+>\N}{yes}{no}} отбросить сообщение если $h_message-id не соответствует маске
>> deny message = RFC compliant Message-Id required.
>> log_message = 550 Right Message-Id required.
>> hosts = !+relay_from_hosts
>> condition = ${if match{$h_message-id:}{\N^<.+@(.+\.)?ваш_домен\.ru>$\N}{yes}{no}}
>
>
>Спасибо большое за ответ.
>Не могли бы вы объяснить, что обозначает каждый regex? Насколько я понимаю,
>смысл первого состоит в том, что $h_message-id не должен содержать любой
>набор символов до собаки и любой набор символов после. Я правильно
>понимаю?
rfc822
message-id: local-part "@" domain
если $h_message-id не совпадает с rfc822 то deny кроме white_hosts где например рассылки с subscribe.ru
>Второй regex я только наполовину понимаю, к сожалению. :( Читаю доку, вижу
>значения метасимволов и квантификаторов, а понять не могу.
если в $h_message-id в поле domain присутствует название вашего домена, то тоже deny, кроме тех у кого он должен присутствовать
можно конечно проанализировать ещё local-part, но это излишне.
кстати анализ всех заголовков делать нельзя...только от последнего соединения (в общем случае)