Exim: system_filter или трабл с изменением темы письма
Добавлено: 2009-01-20 20:57:20
Когда exim добавляет в тему письма слово [SPAM], часто после этого
приходят письма с непонятными буквами в теме типа "[SPAM] пя-|-пяп-|-пяп-п|"
вот system_filter:
приходят письма с непонятными буквами в теме типа "[SPAM] пя-|-пяп-|-пяп-п|"
вот system_filter:
Код: Выделить всё
#!/bin/sh
logfile /var/log/exim/main.log
# Спам
#logwrite "EXIM FILTER: debug - digit in variable acl_m0 = $acl_m0 (before)"
# Проверяем содержимое переменной про спам (содержит ли цифры)
if $acl_m0 matches ^\\d+
then
#logwrite "FILTER: debug - digit in variable acl_m0 = $acl_m0 (after first if)"
# Строим новую тему письма - если спам
# Проверяем содержимое переменной со счётчиком спамерских очков.
# На данный момент считаем - что если 60 и более - это спам.
# Добавляем заголовки с объяснением происходящего
headers add "X-Spam-Description: if spam count > 60 - this is spam"
headers add "X-Spam-Count: $acl_m0"
# рихтуем хеадеры
if $acl_m0 is above 59
then
headers add "Old-Subject: $h_subject:"
headers remove "Subject"
headers add "Subject: [SPAM] $h_old-subject:"
headers add "X-Spam: YES"
# Старый заголовок оставляем, на всякий случай
#headers remove "Old-Subject"
logwrite "EXIM FILTER: Spam count = $acl_m0 ; Added SPAM header"
endif
# Закрытие - содержит цифры
endif
#logwrite "EXIM FILTER: interface_address = $interface_address"
# перезапись заголовков, которые не окучены штатно - exim`ом
if $interface_address is INTERNAL_IP
then
headers add "Old-Disposition-Notification-To: $h_Disposition-Notification-To:"
headers add "Old-Return-Receipt-To: $h_Return-Receipt-To:"
headers remove "Disposition-Notification-To"
headers remove "Return-Receipt-To"
headers add "Disposition-Notification-To: <$sender_address>"
headers add "Return-Receipt-To: <$sender_address>"
logwrite "EXIM FILTER: heders rewritten in filter"
endif