procmailrc-Killfile для адресов получателей?

Вам не нужно exit 0 в конце сценария.

Выполнить locate rc.local | grep -vF /etc/rc.local, чтобы найти файлы, которые могут быть задействованы в вызове /etc/rc.local и проверке его кода выхода.

/etc/init.d/rc.local кажется таким сценарием инициализации в моем Xubuntu 15.10: Кажется, он получает код выхода и регистрирует что-то, используя это значение, если переменная "$ VERBOSE" не является "нет" .

Вы можете поместить строку echo "$ (ps -o args = $ PPID)"> / tmp / caller в /etc/rc.local, и она запишет имя вызывающего абонента в файл / tmp / звонящий во время загрузки. В моей системе Xubuntu 15.10 это постоянный всплеск / sbin / init.

2
07.02.2019, 20:34
2 ответа

У меня нет под рукой procmail для тестирования, но вот один из подходов:

:0
* ^TO_(one@example\.com|two@example\.com|three...)
/dev/null

Идея состоит в том, чтобы поместить каждый адрес получателя спама как альтернативу/возможность в волшебное регулярное выражение "^TO _". Совпадение с любым из спам-адресов направляет электронное письмо на /dev/null. Я педантично избегал точек в адресах электронной почты, чтобы они соответствовали точкам вместо того, чтобы содержать их обычное регулярное выражение -, означающее «любой одиночный символ». На практике это вряд ли будет проблемой, так как на ваши спам-адреса -вряд ли будут приходить электронные письма, предназначенные для «one@exampleJcom» («J» вместо любого другого случайного символа ).

Мне нравится этот подход, потому что он сохраняет простоту обработки внутри procmail.

Если список целей спама часто меняется, я бы рассмотрел другой подход, например INCLUDERC, который извлекает сгенерированный файл, содержащий рецепты «/dev/null» для каждой цели спама.

Вопрос «Как выполнить логическое ИЛИ двух или более условий?» Вопрос в FAQ по Procmail касается синтаксиса one|two|three. Синтаксис ^TO_описан в кратком справочнике по Procmail или в вашем локальном man procmailrc .

1
27.01.2020, 22:08

Рецепт, который вы нашли, можно легко адаптировать для извлечения адреса To:.

TO=`formail -xTo: | sed -e 's/ *(.*)//; s/>.*//; s/.*[:<] *//'`
:0
* ? fgrep -qxis "$TO" killfile
/dev/null

Конечно, это может быть расширено для извлечения CC:и ряда других заголовков получателей. Но правильным решением было бы настроить эти адреса таким образом, чтобы они не доставлялись в ваш почтовый ящик.

1
27.01.2020, 22:08

Теги

Похожие вопросы