Файл взят с версии Dovecot 1.2.17.
## Конфигурационный файл Dovecot
# Инструкцию по быстрому старту смотреть здесь:
# http://wiki.dovecot.org/QuickConfiguration
# Команда "dovecot -n" выводит список измененных параметров. Используйте
# эту возможность, вместо копирования содержимого файла, при обращении
# в списках рассылки.
# Все, что расположено после символа "#" считается комментарием. Пробелы
# и символы табуляции игнорируются. Значение параметра, в котором
# есть пробелы поместите в кавычки, чтобы он интерпритировался должным
# образом, например key = "# char and trailing whitespace "
# Значения по умолчанию представленные в данном файле не обязательно
# раскомментировать. Не обязательны секции (например, namespaces {})
# или настройки плагинов, здесь они приведены для примера. Пути так же
# заданы в качестве примера, значения по умолчанию в данном случае
# были заданы при компиляции ( --prefix=/usr/local
# --sysconfdir=/usr/local/etc --localstatedir=/var --with-ssldir=/etc/ssl )
# Директория, в которой работает Dovecot.
#base_dir = /var/run/dovecot/
# Протоколы, доступные для настройки: imap imaps pop3 pop3s
# Если вы хотите использовать только dovecot-auth, то укажите
# здесь "none".
#protocols = imap pop3 imaps pop3s
# Список, разделенный запятыми, IP адресов или имен хостов, с которых
# будут обрабатываться подключения. "*" - принимать подключения со всех
# интерфейсов по протоколу IPv4. "[::]" - принимать подключения со всех
# интерфейсов по протоколу IPv6. Укажите "*, [::]", чтобы принимать
# подключения по любому протоколу.
#
# Если вы хотите изменить стандартный порт для сервиса, то вы должны
# задать необходимы параметры в одноименной секции imap/pop3 { ... }, так
# вы можете указать различные порты для IMAP/POP3. Например:
# protocol imap {
# listen = *:10143
# ssl_listen = *:10943
# ..
# }
# protocol pop3 {
# listen = *:10100
# ..
# }
#listen = *
# Отключить метод аутентификации LOGIN и другие методы с открытым текстом,
# если клиент подключен не через защищенное соединение SSL/TLS. Только
# учтите, что для локальных подключений это ограничение не применяется.
#disable_plaintext_auth = no
# Прибивать все подключения, когда завершается главный процесс Dovecot.
# При "no" подключенные клиенты продолжат работу, даже если главный
# процесс будет завершен (может быть полезно при обновлении, например когда
# была выпущена новая версия с исправленными косяками в безопасности).
# Однако, когда главный процесс будет завершен, то процессы обрабатывающие
# запросы от клиентов не смогут писать в лог файлы.
#shutdown_clients = yes
##
## Логи
##
# Лог файл, в который будут выводится сообщения об ошибках, вместо syslog.
# Укажите /dev/stderr, чтобы сообщения выводились на консоль (stderr).
# Лог файл, в который выводятся информационные и отладочные сообщения.
# Если не задано, то используется параметр log_path.
#info_log_path =
# Префикс для сообщений, формат смотреть в мане по strftime(3).
#log_timestamp = "%b %d %H:%M:%S "
# Раздел syslog для логов.
#syslog_facility = mail
##
## Параметры SSL
##
# IP или имя хоста, на котором принимаются SSL соединения. Не забудте
# разрешить протоколы imaps и/или pop3s (параметр "protocols"). Если
# не задан, то такой же как и параметр "listen".
#ssl_listen =
# Использовать SSL/TLS: yes, no, required.
#ssl = yes
# Сертификат и приватный ключ X.509 SSL/TLS. Файлы открываются перед тем,
# как будут сброшены привелегии root, поэтому сохраняйте файл не доступным
# для всех, кроме пользователя root. В дистрибутив включен скрипт (doc/mkcert.sh),
# который облегчит вам создание собственных подписанных сертификатов.
#ssl_cert_file = /etc/ssl/certs/dovecot.pem
#ssl_key_file = /etc/ssl/private/dovecot.pem
# Если файл-ключ защищен паролем, то укажите этот пароль здесь.
# Так же пароль можно задать с помощью ключа -p. Since this file is often
# world-readable, you may want to place this setting instead to a different
# root owned 0600 file by using !include_try .
#ssl_key_password =
# Файл, содержащий правильные центры сертификации. Задайте, только
# если вы собираетесь использовать ssl_verify_client_cert=yes.
#ssl_ca_file =
# Проверять сертификат пользователя. Если вы хотите сделать это
# обязательным, то установите параметр ssl_require_client_cert=yes
# в секции авторизации.
#ssl_verify_client_cert = no
# Какое поле сертификата использовать в качестве имени пользователя.
# Обычно используют commonName и x500UniqueIdentifier.Вам также
# потребуется задать задать параметр ssl_username_from_cert=yes.
#ssl_cert_username_field = commonName
# Как часто регенирировать файл параметров SSL. При генерации
# интенсивно используется CPU. Значение задается в часах,
# если указать 0, то данная фишка будет отключена.
#ssl_parameters_regenerate = 168
# Доступные шифры SSL
#ssl_cipher_list = ALL:!LOW:!SSLv2
# Выводить инфу про SSL в сообщениях об ошибках.
#verbose_ssl = no
##
## Процесс авторизации
##
#
# Директория, в которой процесс обрабатывающий подключения будет размещать
# сокеты. Сокеты создаются еще до сброса привелегий, поэтому вам не стоит
# беспокоится о правах доступа. Учтите, что все, что содержится в этой
# папке будет удалено при старте Dovecot.
#login_dir = /var/run/dovecot/login
# Запереть процесс обрабатывающий подключения в login_dir.
# Единственная причина не делать этого - необходимость
# запустить dovecot без корневой директории.
#login_chroot = yes
# Пользователь, под которым работает процесс обрабатывающий подключения.
# Создайте нового пользователя и не используйте ни для чего больше,
# кроме как для dovecot. Пользователь также должен иметь свою группу,
# на тех же условиях, она используется, чтобы управлять доступом
# для процесса аутентификации. Учтите, что этот пользователь
# не используется для работы с письмами.
#login_user = dovecot
# Укажите максимальный размер процесса в мегабайтах. Если вы
# указали login_process_per_connection=yes, то этот параметр должен
# быть как можно больше.
#login_process_size = 64
# Для каждого подключения создается отдельный процесс, если этот
# параметр задан в "yes". Иначе этим занимается один процесс.
# Первый вариант является более предпочтительным, так как это
# лучше для безопасности, если конечо вы не используете SSL/TLS.
# Второй вариант предпочтительнее, когда для вас важнее скорость,
# чем безопасность.
#login_process_per_connection = yes
# Количество процессов, ждущих подключений.
#login_processes_count = 3
# Максимальное количество процессов обрабатывающих подключения.
# Такие процессы будут дополнительно создаваться, если к серверу
# подключается много клиентов оновременно. Для предотвращения
# DDoS атаки проверка доступных процессов происходит каждую секунду,
# если свободных процессов не остается, то это количество удваивается,
# пока не будет достигнут лимит, заданный с помощью этого параметра.
#login_max_processes_count = 128
# Максимальное количество подключений на процесс. Этот параметр
# используется только, если login_process_per_connection=no. Если
# достигнут предел, то обрабатывающий подключения процесс сообщает
# главному процессу об этом, тот в свою очередь создает новый
# процесс для обработки подключений.
#login_max_connections = 256
# Приветственное сообщение.
#login_greeting = Dovecot ready.
# Список сетей, разделенный пробелами, которым разрешен доступ.
# Клиентам с этих адресов разрешено переписывать IP адресы
# и порты (для проверок авторизации и аутентификации).
# Параметр disable_plaintext_auth игнорируется для этих сетей.
# Например, здесь можно указать адреса ваших IMAP-прокси серверов.
#login_trusted_networks =
# Список, разделенный пробелами того, что вы хотите писать.
# Элементы, которые имеют не пустое значение будут объединяться
# вместе в выходной строке с помощью запятой.
#login_log_format_elements = user=%u> method=%m rip=%r lip=%l %c
# Формат лога подключений. %$ заменяется на login_log_format_elements,
# %s заменяется на данные.
#login_log_format = %$: %s
##
## Пути к ящикам и пространства имен
##
# Расположение почтовых ящиков. Такой же смысл, как у старой переменной
# default_mail_env. По умолчанию эта переменная не задана, поэтому Dovecot
# пытается найти почтовые ящики автоматически. Это не будет работать, если
# пользователь не имеет почтового ящика, поэтому лучше задать этот параметр.
#
# Если вы используете mbox, то одного пути к файлам почтового ящика
# (например, /var/mail/%u) не будет достаточно. Так же вы должны
# предоставить Dovecot,у, где будут храниться другие почтовые ящики.
# Это называется "root mail directory (корневая директория почты)" и она должна
# быть задана первой в параметре mail_location.
#
# Так же вы можете использовать следующие переменные:
#
# %u - имя пользователя
# %n - имя польльзователя, только без домена
# %d - имя домена (пусто, если домен не указан)
# %h - домашняя директория
#
# Полный список смотрите здесь - . Примеры:
#
# mail_location = maildir:~/Maildir
# mail_location = mbox:~/mail:INBOX=/var/mail/%u
# mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n
#
#
#
mail_location = mbox:~/mail/:INBOX=/var/mail/%u
# Если вы хотите задать несколько местоположений почтовых ящиков или
# хотите изменить пространства имен, вы можете сделать это определяя
# секции пространств имен.
#
# Вы можете создать приватные, разделяемые и общие пространства имен.
# Приватные пространства имен используются для личных писем пользователй.
# К разделяемым пространствам могут иметь доступ другие пользователи.
# Общие пространства разделяется между почтовыми ящиками, которые
# управляются админами. Если вы создаете разделяемые или общие
# пространства, то вам понадобится ACL плагин (для управляения правами
# доступа), в противном случае пользователи будут иметь доступ ко всем
# разделяемым почтовым ящикам, только если у них есть такая возможность
# на уровне прав доступа файловой системы.
#
# Запомните: Если вы добавляете какие-либо пространства имен, то пространства
# имен по умолчанию должны быть добавлены обязательно, то есть значение
# mail_location ничего не значит, пока в пространстве имен не задан параметр
# location. По умолчанию пространство имен не имеет префикса.
#namespace private {
# Используйте здесь обратный слэш в роли разделителя. Вы должны
# использовать такой разделитель для всех пространств имен или
# могут возникнуть проблемы с некоторыми клиентами.
# Зависит от формата пользовательского ящика.
#separator =
# Для доступа к пространству имен требуется указать префикс. Он должен
# быть разным для каждого пространства имен. Например, "Public/".
#prefix =
# Физическое местоположение почтового ящика. Формат такой же как и
# у параметра mail_location. Если не задан, то значение берется
# из mail_location.
#location =
# Может быть только один ящик для приема сообщений и этот параметр
# определяет у какого пространства имен будет этот ящик.
#inbox = no
# If namespace is hidden, it's not advertised to clients via NAMESPACE
# extension. You'll most likely also want to set list=no. This is mostly
# useful when converting from another server with different namespaces which
# you want to deprecate but still keep working. For example you can create
# hidden namespaces with prefixes "~/mail/", "~%u/mail/" and "mail/".
#hidden = yes
# Показывать почтовые ящики под пространствами имен в выводе для
# команды LIST. Это позволяет сделать видимыми пространства имен
# для клиентов, которые не поддерживают расширение - пространство
# имен.
# "children" value lists child mailboxes, but hides the namespace prefix.
#list = yes
# Namespace handles its own subscriptions. If set to "no", the parent
# namespace handles them (empty prefix should always have this as "yes")
#subscriptions = yes
#}
# Пример конфигурации разделяемого пространства имен
#namespace shared {
#separator = /
# Почтовые ящики отображаются так - "shared/user@domain/"
# %%n, %%d и %%u преобразуются в конечного пользователя.
#prefix = shared/%%u/
# Местонахождение писем для других почтовых ящиков. Учтите,
# что %variables и ~/ преобразуются в данные, связанные
# с подключенным пользователем. %%n, %%d, %%u и %%h
# преобразуются в данные, связанные с конечным пользователем.
#location = maildir:%%h/Maildir:INDEX=~/Maildir/shared/%%u
# Использовать пространство имен по умолчанию для подписчиков.
#subscriptions = no
# Показывать только пространство имен shared/, если выводится
# список разделяемых почтовых ящиков.
#list = children
#}
# Системные пользователь и группа, которые используются для доступа
# к почтовым ящикам. Если вы используюте различных пользователей
# и различные группы, то используя колонки uid или gid из БД пользователей,
# можно переопределить эти значения. Вы можете использовать здесь
# имена или числовые идентификаторы.
#mail_uid =
#mail_gid =
# Группа, используемая для привилигированных операций. На данный момент
# это используется только с INBOX, когда не удается его создание или
# не получается блокировка (dotlock). Обычно используется группа "mail" для
# доступа к /var/mail.
mail_privileged_group = mail
# Предоставить доступ этим группам к процессу, обрабатывающему письма.
# В основном это используется для разрешения доступа к разделяемым
# пространствам имен. Учтите, что это может быть опасно, если пользователи
# могут создавать символические ссылки (например, если здесь указана
# группа "mail", то ln -s /var/mail ~/mail/var позволит удалять пользователю
# чужие почтовые ящики, или ln -s /secret/shared/box ~/mail/mybox позволит
# читать их).
#mail_access_groups =
# Предоставить полный доступ к ФС клиентам. В этом случае не происходит
# каких-либо проверок доступа, только проверки на уровне прав доступа ФС.
# Это работает с Maildir и mbox, разрешая указывать префикс к имени
# ящика, например, /path/ или ~/user/.
#mail_full_filesystem_access = no
##
## Процесс, работающий с письмами
##
# Включить вывод отладочных сообщений. Это может вам определить,
# почему Dovecot не может найти ваши письма.
#mail_debug = no
# Префикс для выводимых сообщений в лог файл. Смотрите
# , чтобы знать - какие значения здесь
# возможны.
#mail_log_prefix = "%Us(%u): "
# Максимальное кол-во строк, выводимых процессом в секунду.
# 0 значит - без ограничений. В большинстве случаев этот параметр
# не требует изменений, только если вы не используете плагин
# mail_log. Этот параметр игнорируется, если mail_debug=yes
#mail_log_max_lines_per_sec = 10
# Не использовать системный вызов mmap(). Такое поведение
# может потребоваться, если индексы хранятся на разделяемой
# ФС (например, NFS или кластерная ФС).
#mmap_disable = no
# Использовать флаг O_EXCL, когда создаются файлы блокировки (dotlock).
# NFS поддерживает O_EXCL, начиная с версии 3, так что на сегодняший
# день данный параметр не создаст каких-либо проблем.
dotlock_use_excl = yes
# Не использовать системные вызовы fsync() или fdatasync(). Это увеличит
# производительность, но возрастет риск потери данных, если сервер,
# где хранятся данные, упадет.
#fsync_disable = no
# Для хранения писем используется NFS. Установите этот параметр в 'yes',
# чтобы Dovecot при необходимости сбрасывал кэши NFS. Если вы
# используете локальную ФС для хранения, то изменение этого параметра
# не требуется.
#mail_nfs_storage = no
# Индексы тоже хранятся на NFS. Этот параметр требует
# mmap_disable=yes и fsync_disable=no.
#mail_nfs_index = no
# Метод блокировки для индексов. Возможные значения fcntl, flock и dotlock.
# В методе блокировки dotlock используются некоторые трюки,
# что может увеличить нагрузку на подсистему ввода/вывода диска.
# Пользователям NFS следует знать: что flock в данном случае не работает,
# не забывайте изменять mmap_disable.
#lock_method = fcntl
# Сбрасывать все привилегии перед запуском процесса обработки писем.
# Данный параметр влияет на отладку, другими словами вы не будете
# получать дамп процесса. Данный параметр представляет угрозу
# безопасности, если вы используете один UID для нескольких пользователей.
#mail_drop_priv_before_exec = no
# Использовать более информативный заголовок процесса (отображается
# в команде ps). На данный момент отображаются только имя пользователя
# и IP адрес. Полезно, если вы хотите видеть кого на самом деле обслуживает
# IMAP процесс.
verbose_proctitle = yes
# Допустимые дапазоны UID для пользователей, по умолчанию от 500 и выше.
# То есть никто не сможет зайти на сервер с идентификатором ниже/выше
# указанного. Учтите, что руту доступ запрещен на уровне кода.
first_valid_uid = 1000
#last_valid_uid = 0
# Тоже самое, только для групп. Если у пользователя основная группа
# с идентификатором, выходящим из данного диапазона, то в доступе
# такому пользователю будет отказано.
first_valid_gid = 1000
#last_valid_gid = 0
# Максимально возможное кол-во одновременно работающих процессов.
# Когда лимит исчерпан, новые пользователи не смогут подключиться.
#max_mail_processes = 512
# Максимальный размер процесса в мегабайтах. Память в основном
# используется для mmap()инга файлов. Так что вреда не будет, даже
# если здесь указано очень большое значение.
#mail_process_size = 256
# Максимальная длина для имени ключевого слова письма.
# Может пригодится при создании новых ключевых слов.
#mail_max_keyword_length = 50
# Список директорий, разделенный двоеточиями, в которые можно
# будет chroot,иться процессу (например, если указать здесь /var/mail,
# то возможен будет chroot в поддиректории). Этот параметр не влияет
# на login_chroot, mail_chroot or auth chroot. Если параметр не задан,
# то "/./" в домашних директориях будет игнорироваться.
# Осторожно: Никогда не указывайте здесь директории, к которым
# имеют доступ локальные пользователи. Этим правилом можно
# пренибреч, только если у пользователей нет доступа к шелу.
#
#valid_chroot_dirs =
# Основная директория для chroot,а процесса. Этот параметр может быть
# изменен для определенных пользователей, указав в пути к
# домашней директории /./ (например, /home/./user chroot в /home).
# Следует знать, что в основном chroot процесса не требуется.
# Dovecot не позволит пользователям получить доступ к файлам
# за пределами домашней директории в любом случае.
#
#mail_chroot =
##
## Оптимизация работы с почтовыми ящиками
##
# Минимальное количество писем в почтовом ящике перед обновлением
# файла кеша. Благодаря этому параметру Dovecot будет делать меньше
# операций записи на диск, но количество операций чтения возрастет.
#mail_cache_min_mail_count = 0
# Если получена команда IDLE, то почтовый ящик будет периодически
# проверяться на предмет получения новых писем или других изменений.
# Этот параметр определяет минимальное количество секунд перед
# проверкой. Dovecot может использовать dnotify, inotify и kqueue, чтобы
# узнать об изменениях.
#mailbox_idle_check_interval = 30
# Сохранять текст письма с CR+LF в конце вместо LF. Это может уменьшить
# нанагрузку на проц при работе с некоторыми письмами, особенно если
# используется системный вызов sendfile(). Но увеличиться нагрузка
# на подсистему ввода/вывода, поэтому прироста в производительности
# может и не быть, а может быть она вообще снизится. Так же следует знать,
# что использование такой возможности может вызвать проблемы с другим
# програмным обеспечением, работающем в ящиках.
#mail_save_crlf = no
##
## Параметры Maildir
##
# По умолчанию для команды LIST выводится все записи в почтовом ящике,
# начинающиеся с точки. Включение этой опции заставляет Dovecot возвразать
# только список директорий. Для каждого объекта в почтовом ящике
# вызывается системный вызов stat(), что нагружает подсистему ввода/вывода.
#maildir_stat_dirs = no
# При копировании письма создавать жесткую ссылку, если это возможно.
# В таком случае производительность возрастет без каких-либо последствий.
maildir_copy_with_hardlinks = yes
# При копировании письма пытаться сохранять базовое имя файла. Если
# местоназначение уже содержит подобное имя (то есть копируется в ту же папку),
# то будет присвоено новое имя. Данная операция выполняется с использованием
# файла dovecot-uidlist, так что если другой софт работает в подобном режиме,
# то это может вызвать проблемы.
# Учтите: должен работать параметр maildir_copy_with_hardlinks = yes.
#maildir_copy_preserve_filename = no
# Если Dovecot единственной MUA, который имеет доступ к почтовым ящикам,
# то возможно сканировать директорию cur/, только когда изменен mtime
# или когда не удается найти письма.
#maildir_very_dirty_syncs = no
##
## Параметры mbox
##
# Системный вызов, используемый для блокировок при просмотре mbox.
# Доступно четыре вызова:
# dotlock: создавать файл .lock. Это старый способ, но безопасный
# для NFS. Если вы используете директорию /var/mail, то пользователи
# должны иметь права на запись в нее.
# dotlock_try: тоже самое, что и dotlock, но если блокировка не удастся,
# из-за прав доступа или недостаточного количества места на диске, то
# то просто проигнорировать это.
# fcntl: использовать, если возможно. Работает с NFS, если работает
# демон lockd.
# flock: данный вызов есть не во всех системах. Не работает с NFS.
# lockf: данный вызов есть не во всех системах. Не работает с NFS.
# Вы можете использовать несколько методов, если только из-за этого
# не возникнет проблем с другим софтом (MTA/MUA), то есть другой софт
# должен поддерживать данные методы. Некоторые ОС не позволяют
# использовать разные блокировки одновременно.
#mbox_read_locks = fcntl
#mbox_write_locks = dotlock fcntl
# Максимальное кол-во секунд выжидаемое для заблокированного файла
# перед отменой.
#mbox_lock_timeout = 300
# Пересоздать блокировку на файл, если почтовый ящик не был изменен
# в течении этого времени (указывать в секундах).
#mbox_dotlock_change_timeout = 120
# Когда содержимое mbox изменяется, необходимо полностью перечитать
# его. Если mbox очень большой, то это может занять много времени. Так
# как изменение чаще всего происходит из-за прихода нового письма, то
# было бы гораздо прочитать только новые письма. Если этот параметр
# включен, то Dovecot делает это, но при необходимости перечитывает mbox.
# Параметр следует отключить, если другие MUA могут изменить флаги
# сообщний, о чем Dovecot соответственно не будет знать. Так же следует
# знать, что сброс кэшей выполняется с командами SELECT, EXAMINE,
# EXPUNGE и CHECK.
#mbox_dirty_syncs = yes
# Аналогично mbox_dirty_syncs, но не будет осуществляться сброс кэшей,
# даже если выполняются команды SELECT, EXAMINE, EXPUNGE и CHECK.
# Если этот параметр включен, то параметр mbox_dirty_syncs игнорируется
#mbox_very_dirty_syncs = no
# Задерживать запись заголовков mbox, до тех пор пока происходит сброс
# кэшей (команды EXPUNGE и CHECK, после чего файл закрывается).
# Такое поведение может оказаться полезным при использовании протокола
# POP3, когда пользователи пытаются удалить все письма. С другой стороны,
# плохо, что другие MUA не видят изменений в ящике.
#mbox_lazy_writes = yes
# Не писать индекс, пока ящик mbox не наберет заданный здесь размер в
# килобайтах. Если индекс уже был создан, то он будет использоваться, но
# не будет обновляться, если размер ящика меньше заданного.
#mbox_min_index_size = 0
##
## Параметры dbox
##
# Максимальный размер файла dbox в килобайтах, перед ротацией.
#dbox_rotate_size = 2048
# Минимальный размер файла dbox в килобайтах, перед ротацией.
# (параметр dbox_rotate_days учитывает это)
#dbox_rotate_min_size = 16
# Максимальное время жизни dbox файла перед ротацией.
# Если 0, то такая проверка отключена.
#dbox_rotate_days = 0
##
## Параметры IMAP
##
protocol imap {
# Исполняемый файл, который отвечает за авторизацию.
#login_executable = /usr/local/libexec/dovecot/imap-login
# Путь к исполняемому файлу IMAP. Изменение этого параметра
# позволяет вам запускать другие проги, перед запуском imap
# процесса.
#
# Запись логов можно было бы сделать следующим образом:
# mail_executable = /usr/local/libexec/dovecot/rawlog /usr/local/libexec/dovecot/imap
#
#
# Так можно присоединить gdb к imap процессу и писать обратные вызовы
# в файлы /tmp/gdbhelper.*:
# mail_executable = /usr/local/libexec/dovecot/gdbhelper /usr/local/libexec/dovecot/imap
#
#mail_executable = /usr/local/libexec/dovecot/imap
# Максимальная длина команды IMAP в байтах. Некоторые клиенты посылают
# слишком длинные команды при работе с очень большими ящиками, поэтому
# вам может понадобиться отказывать таким клиентам с сообщением
# "Too long argument" или "IMAP command line too large" в таком случае.
#imap_max_line_length = 65536
# Максимальное кол-во подключений для пользователя с одного IP адреса.
# Учтите, что в имени пользователя учитывается регистр букв.
#mail_max_userip_connections = 10
# Поддержка плагинов. mail_plugins - список плагинов, разделенный
# пробелами, которые должны быть загружены.
#mail_plugins =
#mail_plugin_dir = /usr/local/lib/dovecot/imap
# Формат логов:
# %i - общее кол-во байт полученных от клиента
# %o - общее кол-во байт отправленных клиенту
#imap_logout_format = bytes=%i/%o
# Заменить ответ IMAP CAPABILITY на указанный здесь.
#imap_capability =
# Сколько секунд ждать ответа от клиента "OK Still here",
# когда тот ничего не делает.
#imap_idle_notify_interval = 120
# Идентификационные данные, отправляемые клиенту. Используйте *,
# чтобы Dovecot использовал значение по умолчанию. Следующие
# данные имеют значение по умолчанию: name, version, os, os-version,
# support-url, support-email.
#imap_id_send =
# Какие идентификационные данные писать в лог. * - значит все.
#imap_id_log =
# Хаки для некоторых быжных клиентов:
# delay-newmail:
# Отправлять (EXISTS/RECENT) уведомления о новых сообщениях,
# только когда получены команды NOOP и CHECK. В противном
# случае некоторые клиенты игнорируют эту инфу, например
# OSX Mail ( (например, %Uf будет значить,
# что имя файла будет в верхнем регистре).
#
# %v - Mailbox's IMAP UIDVALIDITY
# %u - Mail's IMAP UID
# %m - хэш MD5 заголовков ящика в hex (только для mbox)
# %f - имя файла (только maildir)
#
# Если вы хотите ,чтобы UIDL был совместим с другими POP3 серверами,
# то используйте следующее:
# UW's ipop3d : %08Xv%08Xu
# Courier : %f or %v-%u (both might be used simultaneosly)
# Cyrus (= 2.1.3) : %u
# Cyrus (>= 2.1.4) : %v.%u
# Dovecot v0.99.x : %v.%u
# tpop3d : %Mf
#
# Учтите, что Outlook 2003 криво работает с форматом %v.%u, который
# является значением по умолчанию для Dovecot, так что если вы
# настраиваете новый сервер, то хорошим решением будет изменить
# данный параметр. Формат %08Xu%08Xv является самым удачным.
pop3_uidl_format = %08Xu%08Xv
# Сохранять UIDLs посланные POP3 клиентам, таким образом
# pop3_uidl_format не будет изменять их. На данный момент работает
# только с Maildir.
#pop3_save_uidl = no
# Формат логов POP3:
# %i - общее кол-во байт полученное от клиента
# %o - общее кол-во байт отправленное клиенту
# %t - количество команд TOP
# %p - кол-во байт, отправленное клиенту при вып. команды TOP
# %r - число команд RETR
# %b - кол-во байт, отправленное клиенту при вып. команды RETR
# %d - кол-во удаленных сообщений
# %m - кол-во сообщений (перед удалением)
# %s - размер ящика в байтах (перед удалением)
#pop3_logout_format = top=%t/%p, retr=%r/%b, del=%d/%m, size=%s
# Максимальное кол-во подключений для пользователя с одного IP адреса.
# Учтите, что в имени пользователя учитывается регистр букв.
#mail_max_userip_connections = 3
# Поддержка плагинов. mail_plugins - список плагинов, разделенный
# пробелами, которые должны быть загружены.
#mail_plugins =
#mail_plugin_dir = /usr/local/lib/dovecot/pop3
# Хаки для некоторых быжных клиентов:
# outlook-no-nuls:
# Outlook и Outlook Express отупляются, если письмо содержит
# символы NUL. С этим хаком такие символы будут заменены на
# символ 0x80.
# oe-ns-eoh:
# Outlook Express и Netscape Mail тупят, если пропущено окончание
# строки в заголовках. С этим хаком это дело поправимое.
#
# Элементы списка должны быть разделены пробелами.
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}
##
## Параметры LDA
##
protocol lda {
# Адрес, используемый для отправки отклоненных писем
# (например, postmaster@example.com).
#postmaster_address =
# Имя хоста, используемое в некоторых частях письма
# (например, в Message-Id). По умолчанию берется из системы.
#hostname =
# Поддержка плагинов. mail_plugins - список плагинов, разделенный
# пробелами, которые должны быть загружены.
#mail_plugins =
#mail_plugin_dir = /usr/local/lib/dovecot/lda
# Если пользователь превысил квоту, то вернуть ошибку о временном
# сбое вместо отправки отлупа.
#quota_full_tempfail = no
# Формат логов. Вы можете использовать следующие значения:
# %$ - статус доставки (e.g. "saved to INBOX")
# %m - Message-ID
# %s - тема
# %f - от кого
#deliver_log_format = msgid=%m: %$
# Бинарник sendmail,а для отправки отлупов.
sendmail_path = /usr/sbin/sendmail
# Указывать следующую тему в отлупах. Вы можете исползовать
# некоторые значения как в параметре rejection_reason ниже.
#rejection_subject = Rejected: %s
# Сообщение об отлупах. Вы можете использовать следующие значения:
# %n = CRLF, %r = reason, %s = original subject, %t = recipient
#rejection_reason = Your message to %t> was automatically rejected:%n%r
# Путь к UNIX сокету сервера аутентификации.
#auth_socket_path = /var/run/dovecot/auth-master
}
##
## Процесс аутентификации
##
# Путь до исполняемого файла.
#auth_executable = /usr/local/libexec/dovecot/dovecot-auth
# Максимальный размер процесса в мегабайтах.
#auth_process_size = 256
# Размер кэша в килобайтах. 0 значит, что кэш выключен.
# Учтите, что bsdauth, PAM и vpopmail требуют, чтобы параметр
# cache_key был задан, чтобы использовать кэширование.
#auth_cache_size = 0
# Время жизни кэша в секундах. После истечения времени кэшированные
# данные не используются, но если БД отвалилась, то остается использовать
# только их. Dovecot также пытается автоматически узнать об изменении
# пароля у пользователя: если предыдущая аутентификация была успешной,
# но текущая потерпела неудачу, то кэш не будет использован. Сейчас это
# работает только для аутентификации с открытым текстом.
#auth_cache_ttl = 3600
# Время жизни для неудачных попыток (пользователь не найден,
# неверный пароль). 0 значит выключить кэширование.
#auth_cache_negative_ttl = 3600
# Список, разделенный пробелами, realms для механизма аутентификации
# SASL. Вы можете оставить данный параметр не заданным, если вам
# не нужно несколько realms. Большинство клиентов используют первый
# realm из списка, поэтому ставьте основной realm первым.
#auth_realms =
# realm/domain по умолчанию, если тот явно не задан. Это используется
# и для SASL realms, и для добавления @domain к имени пользователя
# при авторизации открытым текстом.
#auth_default_realm =
# Список разрешенных символов в имене пользователя. Если полученное
# имя пользователя имеет символы не из списка, то пользователь
# автоматом получает отлуп. Это простая проверка позволяет слать
# лесом ботов, ну и чтобы не получить проблем с экранированием данных
# при запросах к SQL/LDAP. Если вы хотите разрешить любые символы, то
# оставьте это поле пустым.
#auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@
# Преобразование имени пользователя перед поиском в БД. Значение
# содержит серию замен (исходный -> нужный). Например, "#@/@"
# значит, что символы '#' и '/' будут преобразованы в '@'.
#auth_username_translation =
# Формат имени пользователя перед просмотром в БД. Вы можете
# использовать здесь стандартные значения, например, %Lu
# преобразует символы в нижний регистр, %n - отбросить домен, если
# он задан, или "%n-AT-%d" - заменить символ '@' на '-AT-'. Это
# преобразование выполняется после auth_username_translation.
auth_username_format = %Lu
# If you want to allow master users to log in by specifying the master
# username within the normal username string (ie. not using SASL mechanism's
# support for it), you can specify the separator character here. The format
# is then . UW-IMAP uses "*" as the
# separator, so that could be a good choice.
#auth_master_user_separator =
# Имя анонимного пользователя, используемое с механизмом
# ANONYMOUS SASL.
#auth_anonymous_username = anonymous
# Писать в лог о неудачных попытках входа и их причину.
#auth_verbose = no
# Выводить более информативные сообщения в лог. Так же пишутся
# запросы SQL.
#auth_debug = no
# В случае несовпадения паролей писать в лог пароли и используемую
# схему авторизации. Полезно для отладки. Перед включением
# включите auth_debug.
#auth_debug_passwords = no
# Максимальное количество работающих процессов аутентификации.
# Эти процессы создаются и уничтожаются автоматически.
#auth_worker_max_count = 30
# Имя хоста используемое в GSSAPI. По умолчанию берется из системы.
# Значение "$ALL" разрешает использовать любые записи keytab.
# Host name to use in GSSAPI principal names. The default is to use the
# name returned by gethostname(). Use "$ALL" to allow all keytab entries.
#auth_gssapi_hostname =
# Kerberos keytab для работы с GSSAPI. Если не указан, то
# используется системное значение (обычно /etc/krb5.keytab).
#auth_krb5_keytab =
# Авторизация NTLM и GSS-SPNEGO через демона winbind и ntlm_auth
# из пакета Samba.
#auth_use_winbind = no
# Путь до тулзы ntlm_auth из пакета Samba.
#auth_winbind_helper_path = /usr/local/bin/ntlm_auth
# Количество секунд выжидаемое перед повторной попыткой аутентификации.
#auth_failure_delay = 2
auth default {
# Список, разделенный пробелами, разрешенных методов аутентификации:
# plain login digest-md5 cram-md5 ntlm rpa apop anonymous gssapi otp skey
# gss-spnego
# Учитывайте значение параметра disable_plaintext_auth.
mechanisms = plain login
# БД паролей, используемая для проверки пользователей (и ничего более).
# Вы можете настроить несколько БД паролей (passdbs) и
# пользователей (userdbs). Это полезно, если вы хотите сделать доступ
# системным пользователям и виртуальным одновременно, чтобы
# не пришлось дублировать системных в базе виртуальных.
#
#
# Если вы добавите в passdb master=yes, то пользователи из этой БД
# будут обладать доп. привилегиями ("master users") - смогут залогиниться
# как кто-либо другой. Если вы не используете PAM, то скорее всего вам
# необходимо, чтобы целевой пользователь реально существовал
# в какой-либо ДБ. Это можно сделать добавив в master passdb pass=yes.
#
# Пользователям можно временно запретить доступ , добавив в passdb
# параметр deny=yes. Если пользователь будет найден в такой БД,
# то в доступе ему будет отказано. Такие passdb должны быть настроены
# перед остальными, чтобы они проверялись первыми. Пример:
#passdb passwd-file {
# Файл содержит список пользователей, по одному на строчку
#args = /usr/local/etc/dovecot.deny
#deny = yes
#}
# Аутентификация через PAM. Является основной на большинстве
# современных систем. Учтите, что PAM может использоваться только
# для проверки паролей, поэтому ее нельзя использовать как userdb.
# Если вам не нужна раздельная БД, вы можете указать статичную.
# Внимание: вы должны настроить PAM - /etc/pam.d/dovecot.
#
passdb pam {
# [session=yes] [setcred=yes] [failure_show_msg=yes] [max_requests=]
# [cache_key=] []
#
# session=yes заставляет Dovecot открывать и немедленно закрывать
# PAM сессию. Для некоторых плагинов PAM это необходимо,
# например pam_mkhomedir.
#
# setcred=yes заставляет Dovecot предоставлять учетные данные
# для PAM, если это необходимо. Хотя они никогда не удаляются,
# поэтому данный параметр по умолчанию выключен.
#
# max_requests определяет сколько будет сделано PAM запросов
# процессом, перед тем как он будет пересоздан. По умолчанию 100,
# потому что в большинстве плагинов есть утечки памяти.
#
# cache_key можно использовать для кэширования данных из PAM.
# (так же необходимо задать параметр auth_cache_size). По умочанию
# данный параметр выключен, потому что модули PAM могут делать
# дополнительные проверки (помимо проверки пароля), например
# проверять IP адрес. Dovecot самостоятельно никак не может узнать
# о таких проверках. cache_key это просто список значений (смотрите
# doc/wiki/Variables.txt), которые используются для того, чтобы
# определить какие данные кэшировать.
# Некоторые примеры:
# %u - имя пользователя. Хватает в большинстве случаев.
# %u%r - имя пользователя и удаленный IP.
# %u%s - имяпользователя и сервис (IMaP, POP3).
#
# Имя сервиса может содержать доп. значения, например при %Ls
# имя сервиса будет imap или pop3.
#
# Примеры:
# args = session=yes %Ls
# args = cache_key=%u dovecot
#args = dovecot
args = session=yes dovecot
}
# Системные пользователи (NSS, /etc/passwd, и т.п.)
# В большинстве современных сисстем используется Name Service Switch,
# который конфигурируется через файл /etc/nsswitch.conf.
#
#passdb passwd {
# [blocking=yes] - смотрите userdb passwd
#args =
#}
# Shadow пароли для системных пользователей (NSS, /etc/shadow и .т.п.).
# По новым правилам запрещено PAM.
#
#passdb shadow {
# [blocking=yes] - смотрите userdb passwd
#args =
#}
# PAM-подобная аутентификация для OpenBSD.
#
#passdb bsdauth {
# [cache_key=] - смотрите cache_key в PAM
#args =
#}
# passwd-подобный файл
#
#passdb passwd-file {
# [scheme=] [username_format=]
# Путь до файла>
#args =
#}
# checkpassword исполняемый файл для аутентификации.
# Заметка: Возможно вы захотите использовать вместе с "userdb prefetch".
#
#passdb checkpassword {
# Путь до исполняемогофайла checkpassword
#args =
#}
# SQL хранилище
#passdb sql {
# Путь до конфигурационного файла SQL.
# Смотрите /usr/local/share/examples/dovecot/dovecot-sql.conf
#args = /usr/local/etc/dovecot-sql.conf
#}
# LDAP хранилище
#passdb ldap {
# Путь до конфигурационного файла LDAP.
# Смотрите /usr/local/share/examples/dovecot/dovecot-ldap.conf
#args = /usr/local/etc/dovecot-ldap.conf
#}
# Аутентификация vpopmail
#passdb vpopmail {
# [cache_key=] - смотрите cache_key в PAM.
# [quota_template=] - %q раскрывается в Maildir++ квоту
# (eg. quota_template=quota_rule=*:backend=%q)
#args =
#}
#
# БД пользователей определяет, где хранится почта и какому
# пользователю/группе она принадлежит. При конфигурации
# single-UID используйте "static".
#
#
#
# БД пользователей "prefetch" используется для сохранения информации
# полученной из passdb, то есть отпадает необходимость в повторном
# просмотре userdb. Такое возможно сделать при работе с хранилищем
# SQL и LDAP.
#userdb prefetch {
#}
# Системные пользователи (NSS, /etc/passwd, и т.п.)
# В большинстве современных сисстем используется Name Service Switch,
# который конфигурируется через файл /etc/nsswitch.conf.
#
userdb passwd {
# [blocking=yes] - по умолчанию просмотр БД пользователей выполняется
# в главном процессе dovecot-auth. Этот параметр позволяет выполнять
# такие запросы в процессе auth worker. Такое поведение полезно, когда
# выполняются удаленные NSS запросы, которые могут блокироваться.
# Заметка: используйте этот параметр с nss_ldap или пользователями,
# которые могут заходить как кто-то другой!
args = blocking=yes
}
# passwd-подобный файл
#
#userdb passwd-file {
# [username_format=] Путь до файла>
#args =
#}
# checkpassword исполняемый файл для поиска пользователей.
#
#userdb checkpassword {
# Путь до исполняемого файла checkpassword
#args =
#}
# Параметры static генерируются из шаблона
#userdb static {
# Шаблон для данных. Может возвращать все, что может вернуть userdb.
# Например:
#
# args = uid=500 gid=500 home=/var/mail/%u
#
# If you use deliver, it needs to look up users only from the userdb. This
# of course doesn't work with static because there is no list of users.
# Normally static userdb handles this by doing a passdb lookup. This works
# with most passdbs, with PAM being the most notable exception. If you do
# the user verification another way, you can add allow_all_users=yes to
# the args in which case the passdb lookup is skipped.
#
#args =
#}
# SQL хранилище
#userdb sql {
# Путь до конфигурационного файла SQL.
# Смотрите /usr/local/share/examples/dovecot/dovecot-sql.conf
#args = /usr/local/etc/dovecot-sql.conf
#}
# LDAP хранилище
#userdb ldap {
# Путь до конфигурационного файла LDAP.
# Смотрите /usr/local/share/examples/dovecot/dovecot-ldap.conf
#args = /usr/local/etc/dovecot-ldap.conf
#}
# vpopmail
#userdb vpopmail {
#}
# Пользоватль, под которым работает процесс. Он необходим для доступа
# к БД пользователей и паролей, но ничего более. Только аутентификация
# shadow и pam требует привилегей пользователя root, так что используйте
# другого пользователя, если это возможно. Учтите, что passwd аутентификация
# напрямую работает с файлами shadow, для чего могут потребоваться
# привилегии пользователя root. Так же учтите, что этот пользователь
# не используется для работы с почтовыми ящиками пользователей.
user = root
# Директория, куда chroot,ится процесс. Большинство модулей аутентификации
# не работают в таком режиме и нет смысла в chroot,е, если auth_user - root.
# Учтите, что valid_chroot_dirs не требуется для этого параметра.
#chroot =
# Количество создаваемых процессов аутентификации.
#count = 1
# Требовать SSL сертификат от клиента. Если он его не предоставит, то
# ему будет отказано в доступе.
#ssl_require_client_cert = no
# Взять имя пользователя из SSL сертификата, используя функцию
# X509_NAME_get_text_by_NID(), которая возвращает CommonName.
#ssl_username_from_cert = no
# Если необходимо, то дать доступ к процессу аутентификации другим прогам:
socket listen {
master {
# Главный сокет предоставляет доступ к userdb. Например, используется
# Dovecot LDA, чтобы найти путь к почтовомому ящику пользователя.
path = /var/run/dovecot/auth-master
mode = 0600
# Пользователь/группа, под котторыми запускается dovecot-auth (root)
#user =
#group =
}
client {
# Сокет для клиентов безопасно открывать для всех. Например,
# SMTP сервер может проверять пользователей, используя его.
path = /var/run/dovecot/auth-client
mode = 0660
}
}
}
# Если вам необходимо использовать другой сервер аутентификаций, то
# вы можете использовать подключаемые сокеты. Главный процесс Dovecot
# попробует подключиться к нему. Дополнительных настроек не требуется,
# только путь к сокету. Учтите, что клиентские сокеты должны существовать
# в login_dir.
#auth external {
# socket connect {
# master {
# path = /var/run/dovecot/auth-master
# }
# }
#}
##
## Настройки dictionary server
##
# Словарь может использоваться некоторыми плагинами, для сохранения
# значений типа ключ=значение. К таким плагинам можно отнести: quota,
# expire и acl. Словарь может использоваться через сервер или напрямую.
# Следующий блок dict ассоциирует имена словарей и URI, когда используется
# сервер. URI имеет следующий формат "proxy::".
dict {
#quota = mysql:/usr/local/etc/dovecot-dict-quota.conf
#expire = db:/var/db/dovecot/expire.db
}
# Путь до конфигурационного файла Berkeley DB.
# Смотрите /usr/local/share/examples/dovecot/dovecot-db.conf
#dict_db_config = /usr/local/etc/dovecot-db.conf
##
## Настройки плагинов
##
plugin {
# Здесь можно задать дополнительные переменные окружения для mail
# процессов. В основном используется для настройки плагинов.
# Раскрытие %variable выполняется для всех значений.
# Квота. Поддерживается несколько методов хранения квот:
# dirsize: поиск всех файлов в ящике и подсчет общего размера.
# Очень медленно работает с Maildir. Может нагрузить CPU и
# подсистему I/O диска.
# dict: хранить данные в словаре (например, SQL)
# maildir: Maildir++ quota
# fs: использовать системные квоты
#
# Квота задается с помощью параметра "quota_rule", указывается непосредственно
# в нем или в userdb. Возможно задавать размеры для папок в ящике:
# quota_rule = *:storage=1048576
# quota_rule2 = Trash:storage=102400
# Юзер имеет квоту в 1GB, но для корзины выделено доп. 100MB.
#
# Возможны и такие конфигурации:
# quota = dict:user::proxy::quota
# quota2 = dict:domain:%d:proxy::quota_domain
# quota_rule = *:storage=102400
# quota2_rule = *:storage=1048576
# Каждый пользователь имеею квоту в 100MB и есть одна разделяемая квота
# в 1GB для домена.
#
# Возможно запускать исполняемый файл, когда пользователь исчерпал лимит.
# Квоты могут иметь разные ограничения. Файл будет запущен, только
# для первой сработавшей квоты, поэтому помещайте команды в порядке
# убывания ограничений.
# Учтите, что символ '%' должен экранироваться - %%, иначе он будет заменен
# на пустое значение.
# quota_warning = storage=95%% /usr/local/bin/quota-warning.sh 95
# quota_warning2 = storage=80%% /usr/local/bin/quota-warning.sh 80
#quota = maildir
# Плагин ACL. vfile читает ACLs из файла "dovecot-acl", который находится
# ящике пользователя. Вы можете задать глобальную директорию для ACL,
# в которой будут файлы с настройками для каждого ящика, например,
# INBOX или sub.mailbox. Параметр cache_secs определяет, через сколько
# секунд проверять файл "dovecot-acl" на предмет изменений.
#acl = vfile:/usr/local/etc/dovecot-acls:cache_secs=300
# To let users LIST mailboxes shared by other users, Dovecot needs a
# shared mailbox dictionary. For example:
#acl_shared_dict = file:/var/lib/dovecot/shared-mailboxes
# Плагин Convert. Если включен, то делает преобразования пути для ящиков
# (mail_location), когда пользователь входит на сервер.
# Существующая директория с почтой переименовывается в -converted.
#convert_mail = mbox:%h/mail
# Пропускать ящики, которые не удается открыть вместо отмены операции.
#convert_skip_broken_mailboxes = no
# Пропускать директории начинающиеся с '.'
#convert_skip_dotdirs = no
# If source storage has mailbox names with destination storage's hierarchy
# separators, replace them with this character.
#convert_alt_hierarchy_char = _
# Плагин Trash. Если при сохранении сообщения происходит превышение
# квоты, то этот плагин автоматически удаляет старые письма из ящика,
# до тех пор пока не влезет новое сообщение. Конфигурационный файл
# имеет следующий формат: .
# Первыми удаляются письма с низким приоритетом и далее по
# нарастающей.
#trash = /usr/local/etc/dovecot-trash.conf
# Плагин Expire. Письма будут удалены из ящика по истечении указанного
# времени. Время жизни сообщений для каждого ящика хранится в словаре,
# что позволяет быстро определить, в котором ящике хранятся сообщения
# подлежащие удалению. Чистка может быть выполнена ночью с помощью
# cron, например, такой командой:
# dovecot --exec-mail ext /usr/local/libexec/dovecot/expire-tool
#expire = Trash 7 Spam 30
#expire_dict = proxy::expire
# Плагин Lazy expunge. На данный момент работает только с Maildir. Когда
# у пользователя есть письма подлежащие удалению, то эти письма
# переносятся в первое пространство имен. Когда ящик удаляется, то он
# перемещается во второе пространство имен. Так, если удаляемый ящик
# содержит письма подлежащие удалению, то он может быть перемещен
# в третье пространство имен. Такие письма не участвуют в подсчете
# квоты и поэтому не могут быть удалены автоматически (используйте cron).
#lazy_expunge = .EXPUNGED/ .DELETED/ .DELETED/.EXPUNGED/
# Лог событий. Так же возможно добавить: flag_change
#mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename
# Группировать события в одной строке.
#mail_log_group_events = no
# Возможные поля: uid, box, msgid, from, subject, size, vsize, flags
# size и vsize доступны для для expunge и copy событий.
#mail_log_fields = uid box msgid size
}
# Включить следующие конфигурационный файлы. На данный момент deliver
# не поддерживает такое.
#!include /usr/local/etc/dovecot/conf.d/*.conf
# Попробовать включить файл. Если файл не будет найдет, то это просто
# будет проигнорировано.
#!include_try /usr/local/etc/dovecot/extra.conf
Ссылка на обсуждение
Последние комментарии
Может кто…