Вторая часть будет посвящена настройке IMAP/POP3 сервера Dovecot.

В этой записи я опишу настройку Dovecot 1.2. Сейчас уже вышел Dovecot 2.1, но на первый взгляд он отличается от первого только тем, что конфиг разбит на несколько файлов. В принципе если разобраться с настройками первого Довекота то и со вторым проблем быть не должно. Мне ,честно  говоря,  вникать в особенности настройки второго Довекота лень да и необходимости нет, первый и так отлично работает.

Итак, устанавливаем довекот, нам понадобятся два пакета сам dovecot12 и dovecot12-backend-mysql
выполняем команды в консоли:

zypper in dovecot12
zypper in dovecot12-backend-mysql

Переходим в папку «/etc/dovecot/» и видим собственно сам файл конфигурации довекота «dovecot.conf» и файлы примеров подключения баз данных и LDAP.

Прежде чем начать редактирование конфигов нам необходимо создать пользователя под которым довекот будет раскладывать почту по папкам и собственно саму папку для почты.
Создадим нового пользователя «vmail» и добавим его в группу «mail»

root# adduser vmail
root# passwd vmail
Changing password for user vmail
New password:*****
Retype new password:*****
root# usermod -G mail vmail

создаем папку для хранения почтовых ящиков к примеру «/var/vmail/» и даем права на эту папку пользователю «vmail».

root# mkdir /var/vmail/
root# chown -R vmail:mail /var/vmail/

Пользователь и папка готовы, пройдемся по файлу конфигурации довекота, файл содержит много букв пожтому приведу основное необходимое для работы:

# Базовая директоия в которой довекот хранит необходимые ему в процессе работы файлы
base_dir = /var/run/dovecot/
#
# протоколы с которыми довекот будет работать
protocols = imap pop3
listen = *
#
# Не отключать аутентификацию с помощью обычного текста без шифрования
disable_plaintext_auth = no
#
shutdown_clients = yes
#
##
## Logging
##
syslog_facility = mail
# SSL/TLS поддержка: yes, no, required.
ssl = no
#
##
## Login processes
##
# Директория в которой в которую процесс аутентификации помещает сокеты
login_dir = /var/run/dovecot/login
#
# Прользователь для логин процесса
login_user = dovecot
#
# Сообщения приветствия клиентов
login_greeting = Dovecot ready.
#
##
## Mailbox locations and namespaces
##
# Директория размещения и хранения почтовых ящиков
# В пути можно использовать следующие переменные:
#
# %u - имя пользователя
# %n - Часть имнени до знака @ в почтоаом адресе
# %d - Чать имени после @ собственно имя домена.
# %h - home directory
#
mail_location = maildir:/var/vmail/%u
#
# If you create any namespaces, you must also create a namespace
# Нейм спейс для приватных папок inbox, sent и тд
namespace private {
separator = /
prefix =
inbox = yes
}
# неим спейс для папок доступных всем пользователям заходящим по IMAP
namespace public {
separator = /
prefix = Public/
# This assumes that the user has write access to the directory:
location = maildir:/var/vmail/public
inbox = no
}
##
## Mail processes
##
#
first_valid_uid = 1150
last_valid_uid = 1150
#
##
## IMAP specific settings
##
protocol imap {
login_executable = /usr/lib/dovecot/imap-login
# Плагин автокреате автоматически создает папки Trash и Sent подробней о
# том какие папки создавать описано в самом конце файла конфигурации
mail_plugins = autocreate
mail_plugin_dir = /usr/lib/dovecot/modules/imap
}
##
## POP3 specific settings
##
protocol pop3 {
# Login executable location.
login_executable = /usr/lib/dovecot/pop3-login
mail_plugin_dir = /usr/lib/dovecot/modules/pop3
}
##
## LDA specific settings
##
protocol lda {
# Адрес для отправки сообщений об отказе от аутентификации
postmaster_address = postmaster@учфьзду.com
mail_plugin_dir = /usr/lib/dovecot/modules/lda
# путь к UNIX сокету аутентификации
auth_socket_path = /var/run/dovecot/auth-master
}
##
## Authentication processes
##
auth_executable = /usr/lib/dovecot/dovecot-auth
# Писать в лог о причинах и отказах от аутентификации.
auth_verbose = yes
#
auth default {
# Доступные механизмы аутентификации:
# plain login digest-md5 cram-md5 ntlm rpa apop anonymous gssapi otp skey
mechanisms = plain login
#
passdb sql {
# Путь к файлу-конфигурации доступа к SQL
args = /etc/dovecot/dovecot-sql.conf
}
userdb sql {
# Путь к файлу-конфигурации доступа к SQL
args = /etc/dovecot/dovecot-sql.conf
}
# User to use for the process.
user = vmail
#
socket listen {
master {
# Master socket provides access to userdb information. It's typically
# used to give Dovecot's local delivery agent access to userdb so it
# can find mailbox locations.
path = /var/run/dovecot/auth-master
mode = 0600
# Default user/group is the one who started dovecot-auth (root)
user = vmail
group = mail
}
client {
# The client socket is generally safe to export to everyone. Typical use
# is to export it to your SMTP server so it can do SMTP AUTH lookups
# using it.
path = /var/run/dovecot/auth-client
mode = 0660
group = mail
}
}
}
#
##
## Plugin settings
##
# Описываем папки которые необходимо автоматически создавать во всех аккаунтах
plugin {
autocreate = Trash
autocreate2 = Sent
#autocreate3 = ..etc..
autosubscribe = Trash
autosubscribe2 = Sent
#autosubscribe3 = ..etc..
}

Конфигурация довекота более имение готова, но нужно еще создать файл для связи с базой данных. Нас интересует «dovecot-sql-example.conf». Этот файл тоже содержит много букв, в принципе имея минимальные представления о построении SQL запросов разобратся не сложно. Здесь же приведу только строчки необходимые для работы где postfixdb имя баз данных постфикса, postfix — пользователь базы данных, dbpass — пароль к базе данных.
Создаем файл «dovecot-sql.conf» следующего содержания:

driver = mysql
connect = host=localhost dbname=postfixdb user=postfix password=dbpass
default_pass_scheme = plain
user_query = SELECT concat('/var/vmail/', maildir) as home, concat('maildir:/var/vmail/', maildir) as mail, 1150 AS uid, 12 AS gid FROM mailbox WHERE local_p
password_query = SELECT local_part as user, password FROM mailbox WHERE local_part = '%n' AND active = '1'

Конфигурирование закончено, пробуем запустить довекот и если все нормально, то уже можно подключатся с довекоту почтовым клиентом по IMAP или POP3 протоколу.

rcdovecot start
chkconfig -l 35 dovecot

Теперь для нормального функционирования нашей системы осталось только установить и с конфигурировать MTA EXIM.