Error de autenticación de Dovecot SMTPD Sasl: fatal: no hay mecanismos de autenticación SASL

Error de autenticación de Dovecot SMTPD Sasl: fatal: no hay mecanismos de autenticación SASL

Busqué en Google este error y nada de lo que leí o probé funciona. ¿Alguien sabe qué es?

Registro de errores:

Feb 23 22:35:36 localhost postfix/smtpd[5278]: connect from localhost.localdomain[127.0.0.1]
Feb 23 22:35:36 localhost postfix/smtpd[5278]: warning: SASL: Connect to smtpd failed: No such file or directory
Feb 23 22:35:36 localhost postfix/smtpd[5278]: fatal: no SASL authentication mechanisms
Feb 23 22:35:37 localhost postfix/master[5214]: warning: process /usr/libexec/postfix/smtpd pid 5278 exit status 1
Feb 23 22:35:37 localhost postfix/master[5214]: warning: /usr/libexec/postfix/smtpd: bad command startup -- throttling

postfix/main.cf:

queue_directory = /var/spool/postfix
smtpd_sasl_type = dovecot
smptd_sasl_path = private/auth
broken_sasl_auth_clients = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes

dovecot/conf.d/10-master.conf:

  # Postfix smtp-auth
  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix
  }

Dovecot está disponible en postfix:

[root@localhost ~]# postconf -a
cyrus
dovecot

Enchufe:

[root@localhost conf.d]# ls -l /var/spool/postfix/private/auth
srw-rw-rw-. 1 postfix postfix 0 Feb 23 22:46 /var/spool/postfix/private/auth

El tiempo de Telnet expira inmediatamente:

[root@localhost ~]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.

Trabajos de autenticación:

[root@localhost ~]# doveadm auth adrian
Password:
passdb: adrian auth succeeded
extra fields:
  user=adrian

SO: Centos 6.4 Dovecot: 2.1.17 Postfix: 2.6.6

Editar resultado de postconf -n:

[root@localhost ~]# postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
html_directory = no
inet_interfaces = localhost
inet_protocols = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost
mynetworks = 192.168.124.0/24 168.100.189.0/28, 127.0.0.0/8
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
relay_domains = hash:/etc/postfix/relay_domains
sample_directory = /usr/share/doc/postfix-2.6.6/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_recipient_restrictions = permit_mynetworks        permit_sasl_authenticated        reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_type = dovecot
transport_maps = hash:/etc/postfix/transport
unknown_local_recipient_reject_code = 550

Respuesta1

Como puede ver, no hay smtpd_sasl_pathen nuestra salida depostconf -n

¿Por qué? La respuesta es fácil. Porque no hay ningún smtpd_sasl_pathconjunto. Eche un vistazo a su primer fragmento: hay un error tipográfico. Tu escribistesmptd_sasl_path = privado/autenticación-- pero hay una diferencia entre smtpd y smptd.

Debido a que Postfix no tiene información sobre dónde encontrar el socket, Postfix reclama una "conexión fallida".

Arréglalo y funcionará. :-)

Y, al final: Recuerda para la próxima vez: Leer postconf -natentamente y asegurarte de que Postfix tenga la misma información que crees que debería tener, es siempre un paso importante para encontrar el fallo.

Respuesta2

Tuve el mismo error, problema diferente.

Tuve que editar /etc/dovecot/conf.d/10-master.conf, descomentar unix_listenery agregar las líneas usery group.

service auth {
   unix_listener /var/spool/postfix/private/auth {
      mode = 0660
      user = postfix
      group = postfix
   }

información relacionada