Это третья часть.
Первая часть тут>>>.
Вторая часть тут>>>.
Сам MDA (Mail Delivery Agent) Dovecot установился во время установки Postfix во второй части.
Отредактируем файл конфигурации Dovecot — /usr/local/etc/dovecot.conf:
# cat /usr/local/etc/dovecot.conf | grep -v '^#' | sed '/^$/d' | more
#Поддерживаемые протоколы:
protocols = imap pop3 lmtp
#Разрешаем авторизацию без шифрования
disable_plaintext_auth = no
#Расположение почтовых ящиков, %d - домен, %u - пользователь
mail_location = maildir:/usr/mail/%d/%u/
#Прочие параметры, описаны в самом файле
mail_privileged_group = mail
dotlock_use_excl = yes
verbose_proctitle = yes
first_valid_gid = 65534
maildir_copy_with_hardlinks = yes
login_greeting = Dovecot ready.
dict {
#quota = mysql:/usr/local/etc/dovecot/dovecot-dict-sql.conf.ext
#expire = sqlite:/usr/local/etc/dovecot/dovecot-dict-sql.conf.ext
}
#Нужный параметр, пока настраиваете сервер, потом можно отключить. Выводит много информации в лог /var/log/maillog в т.ч. запросы к MySQL
auth_debug = yes
#Не использовать SSL
ssl = no
#Описываем протоколы
protocol imap {
imap_client_workarounds = delay-newmail outlook-idle netscape-eoh tb-extra-mailbox-sep
}
protocol pop3 {
pop3_uidl_format = %08Xu%08Xv
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}
protocol lda {
postmaster_address = [email protected]
sendmail_path = /usr/sbin/sendmail
}
#Описываем аутентификацию
auth_username_format = %Lu
auth default {
mechanisms = plain login
userdb {
args = /usr/local/etc/dovecot-sql.conf
driver = sql
}
passdb {
driver = sql
args = /usr/local/etc/dovecot-sql.conf
}
user = nobody
socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0666
}
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
}
}
dict {
}
plugin {
}
Редактируем файл конфигурации работы с MySQL — /usr/local/etc/dovecot-sql.conf. ВАЖНО: параметр query может меняться в зависимости от версии сервера, в описываемом примере используется dovecot-1.2.17:
# cat /usr/local/etc/dovecot-sql.conf | grep -v '^#' | sed '/^$/d' | more
driver = mysql
connect = host=127.0.0.1 dbname=postfix user=postfix password=mypassword
default_pass_scheme = MD5-CRYPT
password_query = SELECT password FROM mailbox WHERE username = '%u'
user_query = SELECT maildir, 65534 AS uid, 65534 AS gid FROM mailbox WHERE username = '%u'
user_query = SELECT CONCAT('/usr/mail/',LCASE(`domain`),'/',LCASE(`maildir`)), 65534 AS uid, 65534 AS gid FROM mailbox WHERE username = '%u'
Перезапускаем Dovecot:
# service dovecot restart Stopping dovecot. Starting dovecot.
Добавляем Dovecot в запуск при загрузке системы в файл /etc/rc.conf:
dovecot_enable="YES"
На этом настройка почтового сервера завершена.
При проблемах — не забываем в первую очередь смотреть лог /var/log/maillog.
Из комментариев:
Еще допишите что после настройки postfix нужно перестроить базу данных для файла почтовых алиасов /etc/aliases и /etc/aliases.db командой newaliases иначе почта может не ходить
Полезные ссылки по теме:
http://skeletor.org.ua/?p=159
http://www.lissyara.su/articles/freebsd/mail/postfix+dovecot+spamassasin+clamav+ldap+mysql/
http://www.hilik.org.ua/postfix-dovecot-postfixadmin/
http://rtfm.co.ua/telnet-bystraya-proverka-raboty-pochty-cherez-konsol/
http://wiki1.dovecot.org/#Dovecot_configuration
http://www.postfix.org/postconf.5.html
http://freesource.info/wiki/Dokumentacija/Postfix?v=1d3p&
http://wiki2.dovecot.org/ru/
http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/mail.html