Exim Dovecot Sieve Roundcube VestaCP
Posted: Thu Nov 13, 2014 11:59 am
В какой то момент появилась необходимость фильтровать почту на стороне сервера.
в итоге получилось следующее:
Необходимо до установить на сервере dovecot-lmtpd, dovecot-sieve, dovecot-managesieved
После установки всего необходимого переходим к настройке
/etc/dovecot/conf.d/90-sieve.conf
/etc/dovecot/conf.d/15-lda.conf
Пример файла 15-lda.conf лежит в /usr/share/dovecot/conf.d
/etc/dovecot/conf.d/20-lmtp.conf
/etc/dovecot/dovecot.conf
добавим sieve
Так же необходимо создать /var/log/dovecot-lda.log и поправить права
Переходим к настройке Exim
/etc/exim4/exim4.conf.template
найдем роутер localuser и изменим его
добавим новый транспорт
Чтобы пользователи могли создавать правила фильтрации отредактируем roundcube. Включим плагин managesieve
/etc/roundcube/main.inc.php
Вот вроде и все. Сильно не ругайте это мой первый пост.
в итоге получилось следующее:
Необходимо до установить на сервере 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
}
Code: Select all
protocol lda {
mail_plugins = $mail_plugins sieve
postmaster_address = user@domain
log_path = /var/log/dovecot-lda.log
}
/etc/dovecot/conf.d/20-lmtp.conf
Code: Select all
protocol lmtp {
mail_plugins = $mail_plugins sieve
}
добавим sieve
Code: Select all
protocols = imap pop3 sieve
Code: Select all
touch /var/log/dovecot-lda.log
chmod 660 /var/log/dovecot-lda.log
chown dovecot.mail /var/log/dovecot-lda.log
/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
/etc/roundcube/main.inc.php
Code: Select all
// ----------------------------------
// PLUGINS
// ----------------------------------
// List of active plugins (in plugins/ directory)
$rcmail_config['plugins'] = array('password','managesieve');