Page 1 of 1

Exim Dovecot Sieve Roundcube VestaCP

Posted: Thu Nov 13, 2014 11:59 am
by ezhovandrey
В какой то момент появилась необходимость фильтровать почту на стороне сервера.
в итоге получилось следующее:

Необходимо до установить на сервере dovecot-lmtpd, dovecot-sieve, dovecot-managesieved

Code: Select all

apt-get install dovecot-lmtpd dovecot-sieve dovecot-managesieved
После установки всего необходимого переходим к настройке

/etc/dovecot/conf.d/90-sieve.conf

Code: Select all

plugin {
		sieve = ~/mail/%d/%n/.dovecot.sieve
		sieve_dir = ~/mail/%d/%n/sieve
}
/etc/dovecot/conf.d/15-lda.conf

Code: Select all

protocol lda {
		mail_plugins = $mail_plugins sieve
		postmaster_address = user@domain
		log_path = /var/log/dovecot-lda.log
}	
Пример файла 15-lda.conf лежит в /usr/share/dovecot/conf.d
/etc/dovecot/conf.d/20-lmtp.conf

Code: Select all

protocol lmtp {
		mail_plugins = $mail_plugins sieve
}
/etc/dovecot/dovecot.conf
добавим sieve

Code: Select all

protocols = imap pop3 sieve
Так же необходимо создать /var/log/dovecot-lda.log и поправить права

Code: Select all

touch /var/log/dovecot-lda.log
chmod 660 /var/log/dovecot-lda.log
chown dovecot.mail /var/log/dovecot-lda.log
Переходим к настройке Exim
/etc/exim4/exim4.conf.template
найдем роутер localuser и изменим его

Code: Select all

localuser:
  driver = accept
  #transport = local_delivery
  transport = dovecot
  condition = ${lookup{$local_part}lsearch{/etc/exim4/domains/$domain/passwd}{true}{false}}
добавим новый транспорт

Code: Select all

dovecot:
  driver = pipe
  command = /usr/lib/dovecot/dovecot-lda -e -d $local_part@$domain -f $sender_address -a $original_local_part@$original_domain
  return_path_add
  log_output = true
  delivery_date_add
  envelope_to_add
  user = ${extract{2}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/$domain/passwd}}}}
  group = mail
  return_output
Чтобы пользователи могли создавать правила фильтрации отредактируем roundcube. Включим плагин managesieve
/etc/roundcube/main.inc.php

Code: Select all

// ----------------------------------
// PLUGINS
// ----------------------------------

// List of active plugins (in plugins/ directory)
$rcmail_config['plugins'] = array('password','managesieve');
Вот вроде и все. Сильно не ругайте это мой первый пост.

Re: Exim Dovecot Sieve Roundcube VestaCP

Posted: Thu Nov 13, 2014 12:16 pm
by ezhovandrey
Если создать папки в почте состоящие из русских символов фильтр не срабатывает на эту папку

Re: Exim Dovecot Sieve Roundcube VestaCP

Posted: Fri Jul 15, 2016 2:09 pm
by xoma
Спасибо за инструкцию
на debian 7 надо еще

Code: Select all

chmod 0777 /var/lib/roundcube/logs/errors
chmod 0777 /var/lib/roundcube/logs
в файл /etc/roundcube/plugins/managesieve/config.inc.php
добавить строчку

Code: Select all

$rcmail_config['managesieve_port'] = 4190;

Re: Exim Dovecot Sieve Roundcube VestaCP

Posted: Fri Jul 15, 2016 6:16 pm
by xoma
вместо

Code: Select all

      
sieve = /home/admin/mail/%d/%n/.dovecot.sieve
sieve_dir = /home/admin/mail/%d/%n/sieve
прописал

Code: Select all

     sieve = ~/mail/%d/%n/.dovecot.sieve
     sieve_dir = ~/mail/%d/%n/sieve
так работает для всех юзеров а не только у админа

Re: Exim Dovecot Sieve Roundcube VestaCP

Posted: Tue Oct 31, 2017 11:10 am
by Optimist
Для debian 8 бы разобраться транспорт куда прописать, там теперь файлов...
Я раньше всё хорошо настраивал уже не помню как, а теперь после переезда и развертывания из бэкапа, в котором это всё не сохраняется фильтры не работают и всё печально.
п.с.: кто напомнит плагин для roundcube, который обеспечивает ввод логина без @domen ?

Re: Exim Dovecot Sieve Roundcube VestaCP

Posted: Wed Apr 18, 2018 5:52 pm
by Optimist
Если кто-то будет искать информацию - укажу в лоции подводные камни...
Логи и поисковики очень помогают в настройке, но уходит время.
Итак, для debian у меня оказался не установлен пакет php-net-sieve
Затем важно настроить плагин managesieve - потому что по умолчанию там кодировка не той системы.

Code: Select all

// Defaults to UTF7-IMAP
$config['managesieve_mbox_encoding'] = 'UTF-8';