Пытаюсь настроить связку postfix, dovecot, postfixadmin, mysql.Установил все по статье:
Строим почтовую систему(postfix, dovecot, postfixadmin) - часть первая, установка PostfixAdmin
http://www.hilik.org.ua/я│я┌я─п╬п╦п╪-п©п╬я┤я┌п╬п╡я┐я▌-я│п╦я│я┌п╣п╪я┐postfix-dovecot-postfixadmin-я┤п╟я│я┌я▄-п©/
конфиг postfix-а, main.cf:
queue_directory = /var/spool/postfix
command_directory = /usr/local/sbin
daemon_directory = /usr/local/libexec/postfix
data_directory = /var/db/postfix
mail_owner = postfix
myhostname = mail.blabla.ru
mydomain = blabla.ru
myorigin = $myhostname
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost
relay_domains =
local_recipient_maps = unix:passwd.byname $alias_maps
unknown_local_recipient_reject_code = 550
mynetworks_style = host
mynetworks = 127.0.0.0/8 192.168.1.0/24
alias_maps = hash:/etc/postfix/aliases
alias_database = hash:/etc/postfix/aliases
smtpd_banner = $myhostname ESMTP $mail_name
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
ddd $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/local/sbin/sendmail
newaliases_path = /usr/local/bin/newaliases
mailq_path = /usr/local/bin/mailq
setgid_group = maildrop
html_directory = no
manpage_directory = /usr/local/man
sample_directory = /etc/postfix
readme_directory = no
#Корневая директория для клиентских почтовых ящиков
virtual_mailbox_base = /usr/mail/
#Путь к файлу настроек подключения к MySQL для получения виртуальных алиасов
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf
#Путь к файлу настроек подключения к MySQL для получения виртуальных доменов
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql_virtual_domains_maps.cf
#Путь к файлу настроек подключения к MySQL для получения виртуальных пользователей
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
#Работать dovecot будет от nobody
virtual_minimum_uid = 65534
virtual_uid_maps = static:65534
virtual_gid_maps = static:65534
#Для доставки в локальные почтовые ящики будем использовать доставщик dovecота
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
#Включаем smtp авторизацию через dovecot
smtpd_sasl_auth_enable = yes
smtpd_sasl_exceptions_networks = $mynetworks
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
#Устанавливаем разрешения smtpd
smtpd_recipient_restrictions =
#локальная сеть
permit_mynetworks
#smtp авторизация
permit_sasl_authenticated
#всем остальным релай запрещаем
reject_unauth_destination
Конфиг dovecot.conf:
#Директория для работы Dovecot
base_dir = /var/run/dovecot
#Протоколы по которым будет работать Dovecot
protocols = imap pop3
#Разрешаем plain text авторизацию
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
ssl_disable = yes
auth_debug_passwords=yes
#Описание работы IMAP и POP3 протоколов
protocol imap {
login_greeting_capability = yes
imap_client_workarounds = delay-newmail netscape-eoh tb-extra-mailbox-sep
}
protocol pop3 {
pop3_uidl_format = XuXv
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}
#Доставщик клиентской почты
protocol lda {
postmaster_address = postmaster@blalbla.ru
sendmail_path = /usr/sbin/sendmail
}
#Секция отвечающая за авторизацию пользователей
auth_username_format = %Lu
auth default {
mechanisms = plain login cram-md5 digest-md5
#mechanisms = plain login cram-md5
#Авторизация через MySQL
passdb sql {
args = /usr/local/etc/dovecot-sql.conf
}
userdb sql {
args = /usr/local/etc/dovecot-sql.conf
}
#Пользователь от имени которого dovecot выполняет действия с почтой
user = nobody
socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0666
}
client {
#Эти настройки отвечают за авторизацию клиентов, в нашей ситуации клиентом выступает Postfix
#когда отвечает на SMTP AUTH
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
}
}
dict {
}
plugin {
}
все запускается без ошибок. Затем пробую протестить телнетом.
[root@sspmail /usr/ports/mail/postfix22/postfix-2.2.12]# telnet localhost 25
Trying 127.0.0.1...
Connected to mail.blabla.ru.
Escape character is '^]'.
220 mail.blabla.ru ESMTP Postfix
ehlo s
250- mail.blabla.ru
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250 8BITMIME
auth plain dGVzdC5ydQB0ZXN0LnJ1AHRlc3Q=
535 Error: authentication failed
auth plain получаю так:
perl -MMIME::Base64 -e 'print encode_base64("test@blabla.ru\0test@blabla.ru\0test");'
Пользователь test@blabla.ru в базе есть.
В логах ошибка:
May 21 02:51:13 sspmail postfix/smtpd[21325]: connect from localhost.blabla.ru [127.0.0.1]
May 21 02:51:36 sspmail postfix/smtpd[21325]: warning: SASL authentication failure: no user in db
May 21 02:51:36 sspmail postfix/smtpd[21325]: warning: SASL authentication failure: no user in db
May 21 02:51:36 sspmail postfix/smtpd[21325]: warning: SASL authentication failure: Password verification failed
May 21 02:51:36 sspmail postfix/smtpd[21325]: warning: localhost.blabla.ru[127.0.0.1]: SASL plain authentication failed
Хотя по pop3 все замечательно пускает, авторизует, почта забирается. Такое ощущение что SASL не использует dovecot. Кто нибудь может добрым словом помочь?