I-postfix-auth: (0.04) (woody) Aņadiendo soporte AUTH a postfix, lo necesitas si el servidor SMTP de tu proveedor (ADSL) te pide contraseņa para enviar el correo 0.01 10.5.2002 Primer intento 0.02 13.5.2002 Al fin funciona :-) 0.03 23.11.03 permisos de sasl_passwd 0.04 24.11.03 permisos de sasl_passwd.db ANTES DE EMPEZAR: Lee del paquete unstable postfix-tls_1.1.7 el archivo: /usr/share/doc/postfix-tls/README.Debian PASO A PASO: 1) Instalar postfix-tls, libsasl-modules-plain, sasl-bin y postfix-doc apt-get install postfix-tls libsasl-modules-plain sasl-bin postfix-doc 2) Aņadir a la configuracion de postfix: ---/etc/postfix/main.cf--- # PROVEEDOR DE SMTP REQUIERE AUTENTICACION (250 AUTH=LOGIN) relayhost = smtp.proveedor.c:25 smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = ------ 3) Crear: ---/etc/postfix/sasl_passwd--- servidor-exacto-smtp.proveedor.c cuenta-pop3:password ------ 4) Generar el hash de ese archivo (esto crea sasl_passwd.db): postmap /etc/postfix/sasl_passwd 5) Quitar permisos de lectura a esos archivo a "los otros" para que nadie pueda ver la contraseņa: chmod o-rwx /etc/postfix/sasl_passwd chmod o-rwx /etc/postfix/sasl_passwd.db PROBLEMAS: Mira los mensajes en los registros del sistema: ---/var/log/mail.log--- postfix/smtp[5702]: warning: smtp_sasl_auth_enable is true, but SASL support is not compiled in postfix/smtp[5702]: D680D53: to=, relay=smtp.proveedor.c[xxx.xxx.xxx.xxx], delay=4, status=bounced (host smtp.proveedor.c[xxx.xxx.xxx.xxx] said: 553 Authentication required from this domain) ------ SOLUCIONADO --> Instalar postfix-tls --> Poner el nombre exacto de servidor smtp NO VALE dominio "proveedor.c" ---/var/log/mail.log--- postfix/smtp[10829]: C17C41E3: to=, relay=smtp.provvedor.c[xxx.xxx.xxx.xxx], delay=1, status=deferred (Authentication failed: cannot SASL authenticate to server smtp.proveedor.c[xxx.xxx.xxx.xxx]: no mechanism available) ------ SOLUCIONADO --> Poner smtp_sasl_security_options = ---/var/log/mail.log--- postfix/smtp[7766]: E67D41EF: to=, relay=smtp.proveedor.c [xxx.xxx.xxx.xxx], delay=13, status=sent (250 Message received: 7754E0EFB55.AAA27B3) ------ OK!!! OTRAS PRUEBAS: Parece que no es preciso aņadir usuarios a la base de datos sasl... Como root: saslpasswd -c usuario # Pide la contraseņa sasldblistusers En principio no es preciso crear /usr/lib/sasl/smtp.conf /usr/lib/sasl/smtpd.conf ---Ejemplo--- pwcheck_method: pam ------ POR DENTRO: Postfix utiliza la libreria libsasl7 para la autenticacion La doc de los fuentes de libsasl7 dice que LOGIN es un metodo no documentado y desactivado por defecto, pero postfix-tls ya lo tiene activo (--enable-login) libsasl7 tiene librerias ("plugins") en /usr/lib/sasl, pero no aparecen con "ldconfig -v | grep liblogin", es normal... El plugin del mecanismo login smtp es la liblogin.so MAS AYUDA: mailq # ver cola de salida de correo man smtp man tlsmgr Mirar los paquetes intercambiados con: tcpdump -i eth0 -X -s256 host smtp.proveedor.c > smtp-auth.tcpdump