Вот такая задача: нужно удалять письма, которые приходят из интернета , а в качестве отправителя указан внутренний пользователь!
Я в CustomMContent.rules.txt сваял правило, но что-то не работает! Что тут не так:
S" From" S" *@emborg.*" CheckRecipient
[IF]
CLIENT Lists[LocalNetworks] IsInFile 0=
[IF]
mcCHANGED 0!
DeleteCurrentFile
[THEN]
[THEN]
Если звёздочка не символ групповой операции (aka wildcard), тогда я не представляю, о чём речь.
так вот условие S" {RCPTTO}" S" {MAILFROM}" AnsiCMP-U 0= почему то не срабатывает, хотя в лог пишется, что отправитель и получатель равны:
Но, IMHO, ещё более правильно будет отсекать левых якобы собственных отправителей на подлёте с использованием локальных политик.
IMHO, вот так надо:
В том то и дело, что спамерами подставляются не "левые" адреса с нашего домена, а самые что ни на есть реальные. Почта принимается от провайдера по POP3. И как их отсекать по другому, кроме MContenta, мне в голову не приходит.
S" From" MessageHeader ParseEmail =~ *@emborg.*
[IF]
CLIENT Lists[LocalNetworks] IsInFile 0=
[IF]
mcCHANGED 0!
DeleteCurrentFile
[THEN]
[THEN]
Всем огромное спасибо!
Извините за задержку с ответом.
Дело в том, что CheckRecipient проверяет получателей (как собственно следует из имени слова), а именно заголовки: For: To: Cc:, а не отправителя From: как делаете вы.
P.S. А что насчёт wildcards? Поддерживаются или нет?
Если попросить проверить поле From: через CheckRecipient, то откажется принципиально (так как CheckRecipient проверят именно получателей!). А вот если проверить From: через:
Подробнее по CheckRecipient можно прочитать: тут.
поддерживаются конечно и "*" и "?"
А можно пример, как при помощи локальных политик отсеивать "якобы собственных отправителей" ?
Ну, и есть совсем чистый сллучай, когда все свои сидят внутри локальной сети и снаружи быть не могут в принципе, для этого имеется специальная настройка — "Строгая локальность" в политиках SMTP.
У меня как раз и есть — "совсем чистый случай". Все пользователи сидят в нескольких локальных сетях, которые перечислены в LocalNetworks.
Внешняя почта поступает только с одного адреса 192.168.1.37 (почтовик провайдера).
Включил настройку "Строгая локальность". Но изменений не дало, хорошо что в спам попадают эти письма.
Посмотрел. Это наоборот на самом деле. Требовать от клиентов локальной сети пользоваться адресами только из локальных доменов. Извините, ввёл в заблуждение, сам уже забываю. Значит, только политиками.
Если доверенных сетей у SMTP-сервера нет (только локальные, для которых политики не проверяются), то можно вообще ограничиться одной строчкой. Правда, это будет непрозрачно для понимания.
Вроде начинает отказывать всем письмам с 192.168.1.37.
Как правильно задать правило ?