Фильтры для exim

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
andryu
мл. сержант
Сообщения: 83
Зарегистрирован: 2008-07-31 15:55:40
Откуда: Riga

Фильтры для exim

Непрочитанное сообщение andryu » 2011-01-04 0:01:34

Пытаюсь заставить exim работать с фильтрами sieve.
Застрял на том, что ни как не могу заставить exim читать .forward файл в домашней директории пользователя, хотя это он по умолчанию должен делать..
Возможно это связано с тем что конфиг exima от ISPа.

Прочитав документацию про роутер REDIRECT
http://www.lissyara.su/doc/exim/4.62/th ... uter/#22.1
добавил

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

userforward:
    driver = redirect
    check_local_user
    file = $home/.forward
    no_verify

перед роутером

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

        localuser:
                driver = accept
                transport = local_delivery
но похоже что exim игнорирует .forward файл.
Подскажите куда копать?

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
unix-admin
ст. сержант
Сообщения: 324
Зарегистрирован: 2010-11-26 12:43:04
Откуда: Cornucopia

Re: Фильтры для exim

Непрочитанное сообщение unix-admin » 2011-01-04 10:29:11

а что в .forward ?

Аватара пользователя
andryu
мл. сержант
Сообщения: 83
Зарегистрирован: 2008-07-31 15:55:40
Откуда: Riga

Re: Фильтры для exim

Непрочитанное сообщение andryu » 2011-01-04 11:50:51

Например, вот это. Пересылать все сходящие на test@domain.com. Exim в мае начал поддерживать sieve, вот я и пытаюсь это проверить.(exim-4.72)

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

# Sieve Filter
# Generated by Ingo (http://www.horde.org/ingo/) (п?я?, я?пҐп?  4, 2011, 10:43)

# п?п?я?п?я?я?п?п?п?
if true {
    redirect "test@domain.com";
}

# Forward Keep Action
if true {
    keep;
    stop;
}

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Фильтры для exim

Непрочитанное сообщение dikens3 » 2011-01-04 13:35:26

отладка в полезных скриптах.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
andryu
мл. сержант
Сообщения: 83
Зарегистрирован: 2008-07-31 15:55:40
Откуда: Riga

Re: Фильтры для exim

Непрочитанное сообщение andryu » 2011-01-05 0:34:00

dikens3 писал(а):отладка в полезных скриптах.
Не помогло, так как
dikens3 писал(а):Exim обработает так, будто это реальное письмо, но без реальной доставки (только логи).
а етот фильтр .forward во время доставки срабатывает. Во всяком случае в логе дебага ничего не нашёл.
Или я не прав?

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Фильтры для exim

Непрочитанное сообщение dikens3 » 2011-01-05 10:51:11

но похоже что exim игнорирует .forward файл.
Пользователи локальные?
Exim находит файл .forward в директории пользователя? (права на файл тоже посмотрите)

Проверьте может ли использовать sieve ваш exim. (Я не работал с ним, может пересобрать с какими опциями надо).

Создайте что-нибудь попроще в файле.forward. типа запись в логи строки "Hello World"

Проверьте опцию
# Если опция “allow_filter” установлена в истинное значение и данные начинаются со строки “#Exim filter” или “#Sieve filter” то содержимое интерпретируется как список “фильтрующих” инструкций в форме фильтров Exim или Sieve соответственно.

http://www.lissyara.su/?id=1222#22.3
Так, набросок моих действий в случае проблемы.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
andryu
мл. сержант
Сообщения: 83
Зарегистрирован: 2008-07-31 15:55:40
Откуда: Riga

Re: Фильтры для exim

Непрочитанное сообщение andryu » 2011-01-05 12:01:19

dikens3 писал(а):Пользователи локальные?
Пользователи виртуальные. Поэтому конструкция с file = $home/.forward не подойдёт. Про “allow_filter” я тоже прочитал и уже её добавил. Получилось вот что

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

userforward:
  driver = redirect
  check_local_user
  data = ${extract{4}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/passwd}}}}/.forward
  allow_filter
  no_verify
Конструкцию data = скопировал из другого места в конфиге, поидее должно работать.
В passwd записи такого типа: test@domain.com:1010:1010:50:/home/user/data/email/domain.com/test:no:password
Последние версии exim поддерживают sieve, поддержка встроенная.
Exim находит файл .forward в директории пользователя? (права на файл тоже посмотрите)
Вот этот пункт проверить не получается, знаний не хватает :)
dikens3 писал(а):Так, набросок моих действий в случае проблемы.
Нашёл в гугле Howto небольшой, буду пробывать на его основе запустить мою конструкцию

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Фильтры для exim

Непрочитанное сообщение dikens3 » 2011-01-05 13:24:39

Нафиг вам sieve? Чтобы алиасы и перенаправления делать? Это можно и так сделать.
Задачу огласите что-ли?
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
andryu
мл. сержант
Сообщения: 83
Зарегистрирован: 2008-07-31 15:55:40
Откуда: Riga

Re: Фильтры для exim

Непрочитанное сообщение andryu » 2011-01-05 13:46:12

Sieve нужно для фильтров в вебмаиле. Чтобы пользователи могли сами себе фильтры создавать(складывание по папочкам,фильтрация по телу письма, уведомление о новой почте и т.д. и т.п.) алиасы и перенаправление они могут и через панель добавить, а фильтрацию нормальную только сиеве обеспечивает.
Вычитал, что в моём случае одним роутером не обойтись, ещё транспорт для сиеве нужно делать

Аватара пользователя
andryu
мл. сержант
Сообщения: 83
Зарегистрирован: 2008-07-31 15:55:40
Откуда: Riga

Re: Фильтры для exim

Непрочитанное сообщение andryu » 2011-01-08 1:44:56

Замучился с включением sieve - ничего толком не получилось, да и к томуже sieve в exim-е - это не sieve а
“специфическая реализация Sieve для Exim”
Не поддерживаются некоторые возможности.
В итоге поставил procmail :)
Но и тут без граблей никак не обошлось... :cry:
1) Как быть с квотами в таком случае? Procmail на квоты совсем не смотрит и будет складывать почту в ящик до тех пор пока системные квоты не кончатся(вероятно).
2) И ещё одна проблемка. В maildir есть файлик один – maildirsize, кто его будет обновлять вместо procmaila(он этого не умеет в отличии от exima)? Webmail-ы из-за него будут неправильно показывать заполненность ящика

Есть идеи по решению проблем?

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Фильтры для exim

Непрочитанное сообщение dikens3 » 2011-01-08 9:41:14

dovecot c sieve вроде работает, может его как задействовать?
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
andryu
мл. сержант
Сообщения: 83
Зарегистрирован: 2008-07-31 15:55:40
Откуда: Riga

Re: Фильтры для exim

Непрочитанное сообщение andryu » 2011-01-08 14:39:41

dikens3 писал(а):dovecot c sieve вроде работает, может его как задействовать?
dovecot очень хорошо работает, но тогда его, вместо exim, придётся deliver-ром делать. Надеюсь это окажется проще чем exim с sieve подружить

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

Re: Фильтры для exim

Непрочитанное сообщение Alex Keda » 2011-01-08 21:47:26

у меня везде он deliver
всё хорошо.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
andryu
мл. сержант
Сообщения: 83
Зарегистрирован: 2008-07-31 15:55:40
Откуда: Riga

Re: Фильтры для exim

Непрочитанное сообщение andryu » 2011-01-09 5:24:23

Alex Keda писал(а):у меня везде он deliver
всё хорошо.
Не подскажите вашу конструкцию транспорта, а то никак не получалось запустить доставку довекотом? С правами долго парился, пока не выставил

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

       socket listen {
         master {
           path = /var/run/dovecot/auth-master
           mode = 0666
           user = mailnull
           group = mail
         }
         client {
           path = /var/run/dovecot/auth-client
           mode = 0666
           user = mailnull
           group = mail
        }
Чувствую, что такие права нельзя выставлять, но без них никак. Или в директорию к пользователю не попасть или к auth-master не подключиться
вот что у меня получилось:

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

    dovecot_user:
      driver = accept
      condition = ${lookup {$local_part@$domain} lsearch {/usr/local/etc/exim/passwd} {yes} {no} }
      transport = dovecot_delivery
      cannot_route_message = Unknown user

    dovecot_delivery:
      driver = pipe
      command = /usr/local/libexec/dovecot/deliver -d $local_part@$domain
      message_prefix =
      message_suffix =
      delivery_date_add
      envelope_to_add
      return_path_add
    #  log_output
    #user = mailnull
      user = ${extract{1}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/passwd}}}}
      group = ${extract{2}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/passwd}}}}
Почти стандартно, если не считать прав на сокет довекота. Только теперь неясно как довекоту про квоты сообщить. В старых ящиках есть maildirsize, который eximом создавался, а для новых довекот квоты не знает. И если поменять квоту для старых ящиков(в панели), то довекот будет старую квоту использовать..

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

Re: Фильтры для exim

Непрочитанное сообщение Alex Keda » 2011-01-09 18:57:45

группу заюзайте
Убей их всех! Бог потом рассортирует...

Аватара пользователя
andryu
мл. сержант
Сообщения: 83
Зарегистрирован: 2008-07-31 15:55:40
Откуда: Riga

Re: Фильтры для exim

Непрочитанное сообщение andryu » 2011-01-09 19:16:42

Alex Keda писал(а):группу заюзайте
Каким образом группа связана с квотой или как её можно связать? У всех ящиков для домена один юзер:группа..

Аватара пользователя
gyurza2000
лейтенант
Сообщения: 798
Зарегистрирован: 2007-07-08 23:53:20
Откуда: SPb
Контактная информация:

Re: Фильтры для exim

Непрочитанное сообщение gyurza2000 » 2011-04-13 18:34:21

Не подскажите как сказать Exim что бы он пересылал почту на другой e-mail,НО пересылал всё кроме папки SPAM?
Xeon X5460, RAM 8Gb, FreeBSD 11.0-RELEASE-p2 on amd64, Apache 2.4.23, PHP 5.6.27, MySQL 5.6.34, Exim-4.87, Dovecot2 - 2.2.26.0_4