Я установил почтовые службы postfix / dovecot на DigitalOcean. Я использую сертификаты, предоставленные letsencrypt. В системном журнале нет ошибок, связанных с проблемами с сертификатами.
Я использую mysql для хранения виртуальных пользователей.
Строка подключения:
connect = host = 127.0.0.1 dbname = servermail user = usermail пароль = УДАЛЕНО (с правильным паролем проверка прошла успешно и при запуске нет сообщений об ошибках подключения)
Когда я пытаюсь подключиться с клиента, я вижу это в журнале:
04 апр, 10:15:43 imap-login: Информация: отключено (ошибка аутентификации, 1 попытки за 2 секунды): user =, method = PLAIN, rip = 42.115.84.125, выступ = 206.189.150.255, TLS: отключен, session =
Постфикс успешно доставляет входящую почту.
Вывод dovecot -n
# 2.2.33.2 (d6601f4ec): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.21 (92477967)
# OS: Linux 4.15.0-47-generic x86_64 Ubuntu 18.04.2 LTS ext4
auth_mechanisms = plain login
log_path = /var/log/dovecot.log
mail_location = maildir:/var/mail/vhosts/%d/%n/
mail_privileged_group = mail
namespace inbox {
inbox = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
special_use = \Trash
}
prefix =
}
passdb {
args = /etc/dovecot/deny-users
deny = yes
driver = passwd-file
}
passdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
postmaster_address = dev@vietfeir.com
protocols = imap lmtp
service auth-worker {
user = vmail
}
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0666
user = postfix
}
unix_listener auth-userdb {
mode = 0600
user = vmail
}
user = dovecot
}
service imap-login {
inet_listener imap {
port = 0
}
inet_listener imaps {
port = 993
ssl = yes
}
}
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = postfix
mode = 0600
user = postfix
}
}
service pop3-login {
inet_listener pop3 {
port = 0
}
inet_listener pop3s {
port = 995
ssl = yes
}
}
ssl = required
ssl_cert = </etc/letsencrypt/live/civicrm.vietfeir.com/fullchain.pem
ssl_client_ca_dir = /etc/ssl/certs
ssl_key = # hidden, use -P to show it
userdb {
driver = passwd
}
userdb {
args = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n
driver = static
}
Пожалуйста, дайте мне несколько идей по устранению неполадок.
Вот SQL-запрос, используемый для создания пользователя в базе данных:
INSERT INTO `servermail`.`virtual_users`
(`domain_id`, `password` , `email`)
VALUES
('1', ENCRYPT('*REDACTED*!', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))), 'dennis@vietfeir.com')
Мой клиент (Bluemail) может выбрать простой пароль или пароль CRAM-MD5. Outlook, похоже, допускает только простой, поэтому я думаю, что это может быть проблемой, поскольку я выбрал схему на основе SHA. (SHA512-CRYPT)
Ваш сервер аутентификации не выглядит так, как будто он был настроен для работы с базой данных ... Passdb должен иметь sql в качестве драйвера и указывать на файл, содержащий строку подключения и запрос, необходимый для проверки пароля, хранящегося в базе данных.
Я бы посоветовал взглянуть на https: //wiki.dovecot .org / AuthDatabase / SQL для получения подробной информации и https://www.linode.com/docs/email/postfix/email-with-postfix-dovecot-and-mysql/#dovecot ( элемент №7 и далее) для прохождения.