Por Paco Aldarias Raya
Email: pacolinux arroba inicia punto es
Web: http://aldarias.es/pacodebian
Con Linux Debian. En Valencia (España)
El documento tiene version .html, y .pdf, cambiando en el navegador la parte final podrás acceder a ambos.
Este documento es de libre reproducción siempre que se cite su fuente.
Realizado con: LATEX
+
Un servidor de correo permite:
Postfix permite el recibir correo y enviarlo al usuario de linux.
Este artículo explica como enviar correo a cualquier dirección, y como recibir correo local (es decir, que reciba el correo un usuario de linux). No se verá el servidor de correo IMAP o POP.
Como root hay q hacer todo esto:
apt-get install postfix
Podemos ver la versión instalada con:
dpkg -s postfix
Yo tengo la versión:
2.0.7-3
Nos pedirá una serie de datos que debemos indicarle:
Indicamos q queremos enviar correo y recibor correo.
Aqui le indicamos el nombre del dominio. Es equivalente poner este nombre a poner su ip.
Aqui le decimos q añada un punto al una direccion simple. Es decir, que si envian al usuario paco, el añada un punto.
Si alguien quiere mandarme un correo, deberá enviarlo a paco@aldarias.dsland.org
Siendo paco un usuario de linux.
aldarias.dsland.org, pacohost.aldarias.dsland.org, localhost.aldarias.dsland.org, localhost
Aqui le indicamos que acepte correo a estos destinos.
Aqui le indicamos que maquinas pueden enviar correo. En mi caso solo mi máquina. Podriamos tb poner 192.168.0.0/255.255.255.0 para la red 192.168.0.
Aqui le decimos que use procmail para enviar el correo al usuario.
Aquí indicamos el tamaño máximo del correo. Si ponemos 0 es sin límite.
Aqui lde decimos que carácter usamos para enviar a usuarios locales.
Debemos ser root para poder trabajar con postfix.
Veamos el fichero de configuracion del postfix:
nano /etc/postfix/main.cf
cat /etc/postfix/main.cf command_directory = /usr/sbin daemon_directory = /usr/lib/postfix program_directory = /usr/lib/postfix setgid_group = postdrop append_dot_mydomain = yes smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) biff = no myhostname = aldarias.dyndns.org alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases mydestination = aldarias.dyndns.org paco localhost #relayhost = 127.0.0.1 mynetworks = 192.168.0.0/24 127.0.0.1/24 mailbox_command = procmail -a "$EXTENSION" mailbox_size_limit = 0 recipient_delimiter = +
Arrancaremos el posfix con:
/etc/init.d/postfix start
Pararemos el posfix con:
/etc/init.d/postfix stop
Podemos ver q pasa con el correo asi:
less /var/log/mail.log
Debemos ahora recoger el correo.
Usaremos para ello kmail como cliente de correo. Vamos a: inicio, internet, kmail Dentro de kmail: Preferencias, Configurar kmail, Red. Recibiendo, Añadir Tipo de cuenta: Buzón Local Carpeta: /var/mail/paco
Esto lo que hace es ir a la carpeta /var/mail/paco que es donde deja el correo, y se lo lleva kmail, que está en la carpeta del usuario /home/paco/Mail/
cat /etc/mailname aldarias.dyndns.org
cat /etc/hostname aldarias.dyndns.org
cat /etc/hosts 127.0.0.1 aldarias.dyndns.org localhost 192.168.0.1 paco
#mailq
Para borrar la cola:
postsuper -d ALL
Puedes comprobar las cabeceras del mensaje parandolo en la cola con:
# postsuper -h ID_MENSAJE
El ID del mensaje lo puedes mirar con:
# mailq
Luego puedes buscar el fichero que contiene el mensaje que estará por /var/spool/postfix y se llamará igual que el id del mensaje y lo pasas a postcat. Puedes usar esto por ejemplo:
# find /var/spool/postfix/hold -name ID_MENSAJE -exec postcat {} \;
Viendo las cabeceras podrás saber por qué servidores está pasando el mensaje y ver si de verdad tienes el servidor abierto.
Problema, postfix controla una quota globla (usease, que controla que el direcotorio de los correos de todo el mundo no se pase de un limite). Para tener control de quota individual (que tambien puedes poner a funcionar en la base de de datos... creo un buzon de un mega, ahora lo cambio a 10, y luego a 5... si tener que tocar nada en la configuración de postfix), tendrás que ponerle un parche.
Mas problemas, debian tiene separados los paquetes de postfix, postfix-pgsql, postfix-tls...., así que si lo haces "emparchando" los sources de postfix, te vas a ver en muchos follones de dependencias, archivos que no estan o que estan e otro lado....
Lo ideal:
apt-get install apt-build apt-build update apt-build source postfix en el directorio de los sources descomprimidos, le pones aplicas el patch http://web.onda.com.br/nadal/ gunzip postfix-*-trash.patch.gz patch -p0 <postfix-*-trash.patch apt-build install postfix
y ya tienes postfix con control de quotas individuales, con usuarios virtuales, pero ojo, tienes que decirselo a postfix que lo utilice
cd /etc/postfix vi main.cf te vas a abajo de todo y pulsas i luego copias y pegas.
#QUOTA virtual_mailbox_limit_inbox = no virtual_mailbox_limit_maps = pgsql:/etc/postfix/pgsql_virtual_mailbox_size.cf virtual_mailbox_limit_override = yes virtual_maildir_extended = yes virtual_create_maildirsize = yes virtual_mailbox_limit = 100000000
Mas info en http://aribabiba.cosmoquimica.com.br/leandro/Problema, está en brasileño, para un gallego no es problema porque es praticamente igual al gallego, pero un extremeño un poco avispado deduce facilmente lo que dice, y si no le preguntas a leandro (en ingles, gallego, portugues o brasileño) o preguntas aquí... aunque supongo que las dudas van a ser más de tipo tecnico que idiomático.
Instalación:
apt-get install postfix-tls libsasl-digestmd5 libsasl-modules-plain \ sasl-bin libsasl2 libsasl2-modules
Añadir un usuario:
saslpasswd2 -c -u aldarias.dyndns.org paco
Indicar el metodo de comprobación:
nano /etc/postfix/sasl/smtpd.conf pwcheck_method: sasldb
Configurar postfix:
smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous, noplaintext smtpd_sasl_local_domain = $myhostname smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_relay_domains
nano /etc/postfix/sasl_passwd mail.midominio.org miusuario:mipassword
Cambiar los permisos:
chown root:root /etc/postfix/sasl_passwd && chmod 600 /etc/postfix/sasl_passwd
Crear el db file:
postmap hash:/etc/postfix/sasl_passwd
Cambiar la configuración de postfix:
nano /etc/postfix/main.cf smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtpd_sasl_security_options = noanonymous
Reiniciar postfix:
postfix reload
Comprobar que funciona:
telnet localhost 25 ehlo localhost quit
Deben aparecer líneas parecidas a éstas:
250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5 250-AUTH=PLAIN LOGIN DIGEST-MD5 CRAM-MD5
Dos o tres apuntes muy importantes si tu distribucion es Debian.
1.- Instala el paquete postfix-tls. El soporte para SASL viene con esta version parcheada de postfix.
2.- Si usas postfix 2.x + libsasl2, usa como metodo de validacion de contraseñas saslauthd. Es mas facil asi, aunque no tendras soporte para CRAM-MD5 ni DIGEST-MD5.
Asegurate ademas de que saslauthd esta arrancado y usando el metodo PAM (yo lo he hecho asi y funciona).
Asegurate ademas de instalar los modulos de autenticacion correspondientes. He estado casi 30 minutos haciendo debugging del tinglado solo para darme cuenta de que solo habia instalado libsasl2 (el core), pero no tenia ningun modulo de autenticacion (va todo a base de modulos enchufables). Yo he usado libsasl2-modules, que es quien da soporte para los metodos LOGIN y PLAIN (en mi caso es mas que suficiente).
3.- MUY IMPORTANTE: Edita el fichero master.cf y asegurate de que la linea donde aparezca el proceso smtpd, en la columna donde se configura si corre en un entorno chroot este puesta a 'n' (no). De lo contrario no encontrara la mitad de las bibliotecas y ficheros que necesita. En Debian viene activado el chroot por defecto, por lo que a menos que lo desactives, no te funcionará nunca y no sabrás por qué.
This document was generated using the LaTeX2HTML translator Version 2002-2-1 (1.71)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html postfix -split 0 -local_icons 1 -show_section_numbers -no_auto_link -no_navigation
The translation was initiated by on 2007-03-22