Я хочу заставить пользователей, отправляющих почту на мой сервер, использовать BCC (мы получаем много внутреннего спама, создаваемого рассылками в более чем 30 списков рассылки, которые затем отвечают всем).
Я подумал, что spamassassin может быть хорошим местом для начала, поскольку он уже используется для фильтрации спама. Однако я не уверен, как это сделать (или действительно ли spamassassin - подходящее место для этого). Моя идея заключалась в том, чтобы просто создать bccfilter.cf, который проверяет количество получателей To + Cc и помечает почту как спам, если она больше числа (например, 10). Как лучше всего это сделать?
Единственное, что я придумал, это что-то вроде этого:
header LOCAL_FORCE_BCC_TO To =~ /(.*?,){9,}/
header LOCAL_FORCE_BCC_CC Cc =~ /(.*?,){9,}/
meta LOCAL_FORCE_BCC (LOCAL_FORCE_BCC_TO || LOCAL_FORCE_BCC_CC)
score LOCAL_FORCE_BCC 15.0
Он в основном подсчитывает количество запятых в заголовках «Кому» и «Копия», и если один из них больше 9 (= 10 получателей), он отмечает сообщение как спам. Однако мне не очень нравится этот подход, и я чувствую, что его можно сделать лучше. Также я бы хотел подсчитать общее количество получателей (To + Cc) вместо отдельных.
Кто-нибудь знает как это сделать? Также я хотел бы вернуть собственное сообщение об ошибке, но это не имеет большого значения.
Я думаю, что это прекрасное время, чтобы изучить ACL eximʻa. Вы можете использовать их для перезаписи cc: to bcc.
http://tldp.org/HOWTO/Spam-Filtering-for-MX/exim-smtpdelays.html