Dovecot. Автоответчик.
На одном из почтовых серверов, работающих на связке Postfix + Dovecot + MySQL, потребовалось настроить автоответчик на входящие письма. По условиям задания автоответ должен работать только на заданных ящиках и пользователи не должны были иметь доступ к редактированию текста автоответа.
После рассмотрения нескольких вариантов в качестве наиболее простого и функционального был выбран вариант с настройкой sieve-сценария в dovecot. Пример настройки приведён для ОС Ubuntu 18 ( Debian 10 ).
Необходимо установить необходимые компоненты dovecot:
# apt-get install dovecot-sieve dovecot-managesieved
Включаем поддержку sieve в dovecot.conf — добавляем в параметр protocols: protocols = imap sieve lmtp
Включаем плагин в файле 15-lda.conf:
protocol lda {
# Space separated list of plugins to load (default is global mail_plugins).
#mail_plugins = $mail_plugins
mail_plugins = $mail_plugins sieve acl
…
deliver_log_format = mail from %f: msgid=%m %$
log_path = /var/log/dovecot/lda-errors.log
info_log_path = /var/log/dovecot/lda-deliver.log
lda_mailbox_autocreate = yes
…
}
Включаем плагин в файле 20-lmtp.conf
protocol lmtp {
# Space separated list of plugins to load (default is global mail_plugins).
#mail_plugins = $mail_plugins
info_log_path = /var/log/dovecot/lmtp.log
mail_plugins = quota sieve
…
lmtp_save_to_detail_mailbox = yes
recipient_delimiter = +
}
Расположение персональных скриптов sieve настраивается в 90-sieve.conf:
plugin {
…
sieve = file:~/sieve;active=~/.dovecot.sieve
…
# Use vacation-seconds
sieve_extensions = +vacation-seconds
# One hour at minimum
sieve_vacation_min_period = 0
# Ten days default
# sieve_vacation_default_period = 10d
# Thirty days at maximum
sieve_vacation_max_period = 0
}
В каталоге пользователя создаём файл .dovecot.sieve со следующим содержимым:
require [«variables», «vacation»];
if header :matches «Subject» «*» {
set «subjwas» «: ${1}»;
}
vacation
:days 0
:subject «Мы получили Ваше письмо ${subjwas}»
«Добрый день.
Мы получили Ваше письмо.
Best regards
«;
Выполняем компиляцию скрипта:
#sievec ./.dovecot.sieve
На этом настройка автоответчика завершена.
Добавить комментарий