Некоторое время назад я установил почтовый сервер postfix на свой ubuntu 10.04 VPS. В то время он работал хорошо, но теперь просто перестал работать. Я пытался включить аутентификацию SASL, и где-то что-то пошло не так. Я изучил postfix main.cf и сделал все по порядку, чтобы убедиться, что в нем нет ничего плохого. У меня также установлен Dovecot и настроен dovecot.conf для работы с Postfix.
Если я попытаюсь выполнить telnet localhost 25 во время входа на сервер, я просто получу: Соединение закрыто внешним хостом.
Если я попытаюсь выполнить telnet mail.example.com 25 «извне», я получу: telnet: Невозможно подключиться к удаленному хосту: Нет маршрута к хосту
И когда я проверяю журнал сервера после неудачных попыток, я вижу следующее:
Jun 28 15:49:31 msv postfix/smtpd[11839]: initializing the server-side TLS engine
Jun 28 15:49:31 msv postfix/smtpd[11839]: connect from localhost.localdomain[127.0.0.1]
Jun 28 15:49:31 msv postfix/smtpd[11839]: warning: SASL: Connect to /var/spool/postfix/private/auth failed: Connection refused
Jun 28 15:49:31 msv postfix/smtpd[11839]: fatal: no SASL authentication mechanisms
Jun 28 15:49:32 msv postfix/master[11598]: warning: process /usr/lib/postfix/smtpd pid 11839 exit status 1
Jun 28 15:49:32 msv postfix/master[11598]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling
Файл main.cf выглядит так:
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) biff = no
append_dot_mydomain = no
delay_warning_time = 4h
myhostname = mail.example.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydomain = example.com
myorigin = $mydomain
mydestination = $mydomain
relayhost =
mynetworks = 127.0.0.1
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
smtpd_use_tls = yes
smtpd_tls_loglevel = 2
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_sasl_auth_enable = yes
smtpd_client_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
smtpd_sender_restrictions = permit_sasl_authenticated, permit_mynetworks
smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination broken_sasl_auth_clients = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = /var/spool/postfix/private/auth
smtpd_sasl_security_options = noanonymous
Файл Dovecot.conf выглядит так:
protocols = imap imaps
disable_plaintext_auth = no
log_timestamp = "%b %d %H:%M:%S "
ssl = yes
ssl_cert_file = /etc/postfix/ssl/smtpd.crt
ssl_key_file = /etc/postfix/ssl/smtpd.key
mail_location = maildir:~/mail
mail_access_groups = mail
auth_username_chars = abcdefghijklmnopqrstuvwxyz
protocol imap {
imap_client_workarounds = delay-newmail tb-extra-mailbox-sep
}
auth default {
mechanisms = plain login
passdb pam {
}
userdb passwd {
}
socket listen {
client {
path = /var/spool/postfix/private/auth
user = postfix
group = postfix
mode = 0660
}
}
}
Я думаю, вам нужно отключить sasl:
smtpd_sasl_auth_enable = no
или вам нужно включить (запустить) saslauthd. После того, как вы выполните одно из этих действий, вам следует решить:
Jun 28 15:49:31 msv postfix/smtpd[11839]: warning: SASL: Connect to /var/spool/postfix/private/auth failed: Connection refused
Проверьте разрешения /var/spool/postfix/private/auth
файл. Он должен быть доступен пользователю sasl. Это сигнал от установки моего последнего сервера sasl.