Имена фильтров Spammassassin, соответствующие определенному шаблону

В последнее время я получаю много спама со многих доменов (слишком много для внесения в черный список), где имя отправителя соответствует следующему шаблону: Name S., поэтому за именем следует пробел, затем одна буква и, наконец, точка. Мне было интересно, смогу ли я реализовать это в Spamassassin. Имея это в виду, вот мои вопросы:

  1. Какая часть заголовка содержит имя отправителя? Я предполагаю, что заголовок from, но постфикс показывает мне только адреса электронной почты в журналах, поэтому я немного запутался.

  2. Предполагая, что ответ на 1. да, это правильное правило Spamassassin/правильное регулярное выражение для того, чего я хочу достичь:

header NAME_SPACE_LETTER_POINT=~/((?:[a-z][a-z]+))(\s+)([a-z])(\.)/ score NAME_SPACE_LETTER_POINT 5.0

  1. Считается ли хорошей практикой отмечать письма как спам на основании только одного правила? (порог спама сервера равен 5, поэтому указанное выше правило немедленно помечает любую почту как спам)

Заранее спасибо за любые предложения/ответы на эти вопросы!


person JohnTheWalker    schedule 05.03.2018    source источник


Ответы (1)


Синтаксис почти правильный. Так должно быть:

header NAME_SPACE_LETTER_POINT From =~ /((?:[a-z][a-z]+))(\s+)([a-z])(\.)/

Кроме того, регулярное выражение неверно, поскольку по умолчанию оно чувствительно к регистру, поэтому в конце необходимо добавить параметр i. Также кажется, что у него слишком много скобок, поэтому я немного их обрезал.

/([a-z][a-z]+\s+[a-z]\.)/i

Это, вероятно, нуждается в дальнейшем ограничении, так как оно будет соответствовать «Имени S». в любой точке поля «От кого», так что, например, оно будет соответствовать вполне допустимому имени «Сэмюэл Л. Джексон».

Я думаю, что 3-я часть вашего вопроса немного субъективна. Лично я бы не дал этому конкретному правилу очень высокую оценку, так как даже если вы еще больше ограничите регулярное выражение, оно все равно может привести к некоторым ложным срабатываниям. Если бы правило было нацелено на определенные слова/фразы, которые всегда являются спамом, то, конечно, присвоить ему такой высокий балл, чтобы всегда помечать их как спам, на мой взгляд, это нормально.

person Chris Turner    schedule 05.03.2018
comment
Спасибо за поддержку @Chris! - person JohnTheWalker; 05.03.2018