La conexión a privado / autenticación falló: no existe tal archivo o directorio

6

He configurado postfix, dovecot y roundcube. recibir y enviar correos electrónicos a través de roundcube está funcionando, así como recibir correos electrónicos a través de imap con otro cliente de correo electrónico.

Pero no puedo enviar correos electrónicos con un cliente de correo electrónico externo. Tan pronto como me conecto, veo:

postfix/smtpd[1258]: warning: SASL: Connect to private/auth failed: No such file or directory
postfix/smtpd[1258]: fatal: no SASL authentication mechanisms

en mail.log.

Aquí mi configuración dovecot:

dovecot -n
# 2.1.7: /etc/dovecot/dovecot.conf
# OS: Linux 3.2.0-4-amd64 x86_64 Debian 7.6 
mail_location = mbox:~/mail:INBOX=/var/mail/%u
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/dovecot-sql.conf
  driver = sql
}
protocols = imap pop3
ssl_cert = </etc/dovecot/dovecot.pem
ssl_key = </etc/dovecot/private/dovecot.pem
userdb {
  args = /etc/dovecot/dovecot-sql.conf
  driver = sql
}

aquí mi configuración de postfix:

postconf -n
alias_database = hash:/etc/aliases
alias_maps = pgsql:/etc/postfix/pgsql-aliases.cf
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
default_transport = error
dovecot_destination_recipient_limit = 1
html_directory = /usr/share/doc/postfix/html
inet_interfaces = 127.0.0.1, 192.168.1.134
inet_protocols = ipv4
local_recipient_maps = $virtual_mailbox_maps
local_transport = virtual
mailbox_size_limit = 0
mydestination = localhost
myhostname = vocdemosvr01.voxtelo.com
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = $mydomain
readme_directory = /usr/share/doc/postfix
recipient_delimiter = +
relay_domains = proxy:pgsql:/etc/postfix/pgsql/relay_domains.cf
relay_transport = error
relayhost =
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = private/auth
smtpd_sasl_type = dovecot
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
virtual_alias_maps = proxy:pgsql:/etc/postfix/pgsql/virtual_alias_maps.cf
virtual_gid_maps = static:12
virtual_mailbox_base = /var/vmail
virtual_mailbox_domains = proxy:pgsql:/etc/postfix/pgsql/virtual_domains_maps.cf
virtual_mailbox_limit = 512000000
virtual_mailbox_maps = proxy:pgsql:/etc/postfix/pgsql/virtual_mailbox_maps.cf
virtual_minimum_uid = 8
virtual_transport = dovecot
virtual_uid_maps = static:8
voxdemosvr01:/var/spool/postfix/private# 

¿Qué configuración debo verificar?

Markus
fuente
1
Voy a hacer una suposición aleatoria y decir su configuración SASL en la configuración Postfix y su demonio de autenticación SASL.
HBruijn
1
Más seriamente en la columna derecha de esta pantalla, debajo de relacionados , puede encontrar respuestas útiles a preguntas similares
HBruijn

Respuestas:

9

Cheque

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

para línea

unix_listener private/auth

cámbielo a

unix_listener /var/spool/postfix/private/auth

Reinicie dovecot e intente nuevamente. Si todavía no funciona, publique la salida de dovecot -nypostfix -n

Tutul
fuente
Ya es así. He agregado los resultados a la descripción, gracias.
markus
1
entonces no hay ayuda? Tengo el mismo problema!
holms
1
Para mí, esto estaba relacionado con un error de sintaxis en conf.d / auth-sql.conf.ext. Solo pensé en señalar que un error fatal en cualquiera de estos archivos de configuración puede causar esto. dovecot -nme llevó a resolver esto. Gracias @Tutul!
billynoah
5

Después de pasar algunas horas tratando de resolver esto, finalmente solucioné mi problema, espero que esto ayude a otros ...

En el archivo postfix / main.cf tienes algo como:

smtpd_sasl_path = private/auth

y en el dovecot / conf.d / 10-master.conf tienes algo como:

service auth { 
    # auth_socket_path points to this userdb socket by default. It's typically 
    # used by dovecot-lda, doveadm, possibly imap process, etc. Its default 
    # permissions make it readable only by root, but you may need to relax these 
    # permissions. Users that have access to this socket are able to get a list 
    # of all usernames and get results of everyone's userdb lookups. 
    unix_listener /var/spool/postfix/private/auth { 
      mode = 0666 
      user = postfix 
      group = postfix 
    } 

  ...

en mi caso, "private / auth" en el primer archivo no coincidía con la ruta unix_listener, tan pronto como puse este igual al primero resolvió el problema. Supongo que smtpd_sasl_path tiene que ser el mismo que / var / spool / postfix / ... de lo contrario fallará.

Espero que esto ayude,

Cruzar
fuente
0

De alguna manera, además de las otras configuraciones, tuve que agregar la siguiente línea a mi main.cf:

ueue_directory = /var/spool/postfix

Yves Dorfsman
fuente
0

Antes de reorganizar sus rutas, verifique la sintaxis de configuración de dovecot con:

dovecot -n

Ese comando debería volcar el archivo de configuración de palomar en la pantalla, si no lo hace, mostrará el primer error que encontró. Edite el archivo para corregir errores, si los hay, y debería estar listo. Si obtiene Fatal: Error en el archivo de configuración /etc/dovecot/dovecot.conf línea 6: Esperando '=' o similar, simplemente borrando los espacios antes y / o después del signo igual en la línea indicada debería solucionarlo (I creo que es un problema de codificación).

Nepalí
fuente
0

Otro lugar para verificar es /etc/postfix/master.cfen la configuración de envío. Asegúrese de que la smtpd_sasl_pathvariable allí coincida con la de los archivos de configuración de dovecot.

Conceder
fuente