Exim: system_filter или трабл с изменением темы письма

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
torbik
проходил мимо

Exim: system_filter или трабл с изменением темы письма

Непрочитанное сообщение torbik » 2009-01-20 20:57:20

Когда exim добавляет в тему письма слово [SPAM], часто после этого
приходят письма с непонятными буквами в теме типа "[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
Последний раз редактировалось Alex Keda 2009-01-21 9:15:03, всего редактировалось 1 раз.
Причина: quote != code

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Exim: system_filter или трабл с изменением темы письма

Непрочитанное сообщение Alex Keda » 2009-01-21 9:15:37

заголвоок в исходнике письме как выглядит?
Убей их всех! Бог потом рассортирует...

torbik
проходил мимо
Сообщения: 5
Зарегистрирован: 2009-01-20 20:59:21

Re: Exim: system_filter или трабл с изменением темы письма

Непрочитанное сообщение torbik » 2009-01-21 22:31:52

Вот пример письма:

Код: Выделить всё

Return-path: <m.katkov@igroland.com.ua>
Envelope-to: a.balakin@igroland.com.ua
Delivery-date: Wed, 21 Jan 2009 17:24:12 +0200
Received: from [89.162.139.242] (port=2375 helo=zam)
        by psilon.blasig.com.ua with esmtp (Exim 4.69)
        (envelope-from <m.katkov@igroland.com.ua>)
        id 1LPew7-0003JR-TJ; Wed, 21 Jan 2009 17:24:12 +0200
Reply-To: <m.katkov@igroland.com.ua>
From: <m.katkov@igroland.com.ua>
To: <vashenko@igroland.com.ua>
Cc: =?koi8-r?B?J+HOxNLFyiDiwczBy8nOJw==?= <a.balakin@igroland.com.ua>,
        =?koi8-r?B?J+TNydTSycog9M/Qz9LLz9cn?= <d.toporkov@igroland.com.ua>
Date: Wed, 21 Jan 2009 17:21:26 +0200
Organization: Igroland
Message-ID: <000901c97bdc$15124430$1404a8c0@kh.igroland.lo>
MIME-Version: 1.0
Content-Type: multipart/mixed;
        boundary="----=_NextPart_000_000A_01C97BEC.D89B1430"
X-Mailer: Microsoft Office Outlook 11
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
Thread-Index: Acl72+zfmZrFPt7JQti0A8n7GpHOOg==
X-Spam-Description: if spam count > 60 - this is spam
X-Spam-Count: 130
Old-Subject: Сравнительная характеристика автоперевозчиков
Subject: [SPAM] Сравнительная характеристика автоперевозчиков
X-Spam: YES
После получения которого в теме будет - [SPAM] п?я?п?п?п?п?я?п?п?я?п?п?я?

Как я понимаю проблема в том что system_filter изменяет subject с

Subject: =?koi8-r?B?89DJ08/LINDPzM/Nwc7O2cggySDOxcvP0tLFy9TOzyDSwcLP1MHA3cnIIME=?=
=?koi8-r?B?19TPzcHUz9cgIOjB0tjLz9c=?=


На

Subject: [SPAM] Сравнительная характеристика автоперевозчиков

и после этого оно приходит не верно.
Как это исправить?

torbik
проходил мимо
Сообщения: 5
Зарегистрирован: 2009-01-20 20:59:21

Re: Exim: system_filter или трабл с изменением темы письма

Непрочитанное сообщение torbik » 2009-02-06 9:31:10

Аууу
Кто нибудь мне поможет с этим??? :cry:

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Exim: system_filter или трабл с изменением темы письма

Непрочитанное сообщение Alex Keda » 2009-02-06 22:13:17

написать перловую процедуру.
===========
в принципе - в экзим есть процедуры кодирования и декодирования в base64 - можно попробовать обойтись только им.
Но - это будет совсем нетривиальная задача =))))
Убей их всех! Бог потом рассортирует...

torbik
проходил мимо
Сообщения: 5
Зарегистрирован: 2009-01-20 20:59:21

Re: Exim: system_filter или трабл с изменением темы письма

Непрочитанное сообщение torbik » 2009-02-23 12:45:57

А можно по подробней...
Я не знаком с этими процедурами...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Exim: system_filter или трабл с изменением темы письма

Непрочитанное сообщение Alex Keda » 2009-02-24 2:39:03

доку смотрите.
там всё есть.
Убей их всех! Бог потом рассортирует...

neyro
сержант
Сообщения: 187
Зарегистрирован: 2008-03-07 20:24:25
Контактная информация:

Re: Exim: system_filter или трабл с изменением темы письма

Непрочитанное сообщение neyro » 2009-03-09 1:38:58

Не нужно никаких страшных процедур =)
Проблема не в самом эксиме, а в кривых клиентах которые не понимают кодировку...но им можно помочь это сделать..например так:

Код: Выделить всё

headers add "Content-Type: text/plain; charset=utf-8\nContent-Transfer-Encoding: base64"
если не сработает попробуйте:

Код: Выделить всё

headers add "MIME-Version: 1.0\nContent-Type: text/plain; charset=windows-1251\nContent-Transfer-Encoding: 8bit\n"
должно помочь.

Аватара пользователя
sergio
мл. сержант
Сообщения: 79
Зарегистрирован: 2006-12-30 2:47:28
Откуда: Русь Києвська

Re: Exim: system_filter или трабл с изменением темы письма

Непрочитанное сообщение sergio » 2010-08-21 12:07:47

Если поместить в system_filter строку:

Код: Выделить всё

headers add "MIME-Version: 1.0\nContent-Type: text/plain; charset=windows-1251\nContent-Transfer-Encoding: 8bit\n"
то входящие сообщения (со вложениеями) станут нечитаемыми... :evil: