DHCPTopDomain Name ServiceCorreo Electrónico - Qmail

Correo Electrónico - Qmail

apt-get install qmail-run
El paquete qmail-run se basa en:
qmail
el programa de correo:
dot-forward
implementa el mecanismo tradicional de redireccionamiento desde la cuenta del usuario ".forward".
fastforward
implementa el mecanismo tradicional de "alias".
daemontools
supervisión de los daemons, programa de generación de bitácoras.
ucspi-tcp
conexión controlada desde el Internet con un daemon local.
daemontools y ucspi-tcp también son utilizados por djbdns.

Daemons y Utilidades de Qmail

qmail-smtpd
recepción de correos
qmail-queue
procesamiento de la cola de mensajes pendientes de entrega
qmail-send
decisión con qúe método enviar o entregar un correo - local o remoto
qmail-remote
envio de un correo por smtp
qmail-local
entrega local de un correo
Los dos programas de interes para configuración y administración son qmail-smtpd y qmail-send. En la instalación por defecto los dos programas producen su bitácora en el archivo /var/log/mail.log.
qmail-showctl
muestra los detalles de la configuración actual
qmail-qstat
muestra la cantidad de mensajes en la cola
qmail-qread
muestra remitente y destinatario para cada correo en cola

Configuración básica de Qmail

/etc/qmail/tcp.smtp
contiene las reglas para la conexión remota (entrega de correo) para qmail-smtpd.
Agregar todas las redes locales de la siguiente forma:
192.168.203.:allow,RELAYCLIENT=""
Nota:
esta línea permita a cualquier computadora que se conecta con el servidor de correo y provee un número IP de la red 192.168.203/24 utilizar el servidor para Relay, es decir remitir un correo a cualquier destino remoto.
Para hacer efectivo la modificación del archivo hay que compilarlo en un archivo indexado cdb:
tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp
/etc/qmail/control
contiene los archivos de control - un archivo para cada parámetro de configuración:
me
nombre de la computadora
esteli.esteli.unan.edu.ni
defaulthost
se agrega a destinatarios sin @
esteli.unan.edu.ni
defaultdomain
se agrega a destinatarios sin '.' en el nombre de host (después de@)
esteli.unan.edu.ni
rcpthost
lista de todos los dominios (parte despues de @) para los cuales recibimos correo, tiene que coincidir con registros respectivos en el DNS. Incluye:
dominios locales
tienen un buzón (cuenta unix) en la misma computadora
sub dominios
tienen el buzón en una computadora del mismo dominio, pero en otra computadora
dominios virtuales
tienen el buzón en la misma computadora, pero el dominio es diferente al dominio de la computadora misma. Se entregan a la cuenta de un usuario.
esteli.esteli.unan.edu.ni

esteli.unan.edu.ni

localhost

locals
lista de todos los dominios locales, es decir direcciones electrónicos para los cuales la computadora tiene un buzón
esteli.esteli.unan.edu.ni

esteli.unan.edu.ni

localhost

El cambio en las configuraciones se hace efectivo tras re-iniciar los daemons qmail-smtpd y qmail-send:
svc -t /service/qmail-s*
Gráfica resumen del funcionamiento de Qmail: the-big-qmail-picture-103-bw-letter.pdf

Aliases de correo

El archivo /etc/aliases contiene los redireccionamientos de direcciones de correo específicos a buzones reales.

La configuración mínima garantiza el recibo de correos a las cuentas funcionales obligatorios en Internet:

root: sysadmin

postmaster: root

hostmaster: root

webmaster: root

info: root

abuse: root

Después de cualquier cambio a este archivo hay que compilarlo en una base de datos cdb:
newaliases

Verificación del funcionamiento

Verificación de los daemons:

svstat /service/*
Verificación de la entrega:
  1. se visualiza la bitacora en flujo:
    tail -f /var/log/qmail-send/current
  2. se envia un correo de prueba local:
    echo | mail root
  3. se envia un correo de prueba remota:
    echo | mail -s "prueba" postmaster@unan.edu.ni

Reconfiguración del sistema a la entrega al formato Maildir

# cp /usr/share/doc/qmail-run/examples/qmail-rc /var/qmail/rc

# cp /usr/share/doc/qmail-run/examples/defaultdelivery /etc/qmail/control

# nano -w /etc/qmail/control/defaultdelivery

Este archivo se cambia (en la segunda línea para que contenga lás líneas:
|dot-forward .forward

./Maildir/

El archivo /etc/login.defs se cambia para que aparezca:
QMAIL_DIR Maildir/

# MAIL_DIR /var/mail

# MAIL_FILE .mail

Para que la variable de entorno MAIL tenga su correcto ajuste en la sesión del usuario se agrega a /etc/environment:
MAIL=~/Maildir/
Estos cambios se hacen efectivo a partir del próximo login - salir de la sesión actual y entrar de nuevo.

Aplicación del parche Qmail-LDAP

Para agregar funcionalidad a Qmail hay que aplicar parches a su código fuente (de paso rompiendo la garantía de seguridad del autor).

Necesitamos instalado el paquete dpkg-dev para lo siguiente

# apt-get install dpkg-dev.
Entramos a la cuenta sysadmin y ejecutamos:
$ mkdir progs

$ cd progs

$ apt-get source qmail

nos crea el directorio qmail-1.03, el cual corresponde fielmente al código fuente usado para la construcción del paquete "qmail".

Para realizar una prueba, y de paso aplicar los parches que usaremos mas adelante, convertiremos nuestro Qmail en Qmail+LDAP:

Desde http://www.nrg4u.com/ bajamos el último parche, en este momento:

http://www.nrg4u.com/qmail/qmail-ldap-1.03-20030101.patch.gz.

$ wget http://www.nrg4u.com/qmail/qmail-ldap-1.03-20030101.patch.gz

$ cd qmail-1.03

$ zcat ../http://www.nrg4u.com/qmail/qmail-ldap-1.03-20030101.patch.gz | patch

zcat descomprime en standard output el parche y lo manda al standard input de patch. Este a su vez aplica todos los cambios al código fuente en el directorio qmail-1.03, inclusive agregar nuevos archivos, etc.

Necesitamos las bibliotecas C que implementan las funciones de acceso al servicio ldap, esas se instalan junto con el servidor ldap, o con ldap-utils, pero ahora, necesitamos sus archivos C "include". Estos son disponibles para cada biblioteca empaquada con Debian, con el mismo nombre, pero con sufijo: -dev.

# apt-get install libldap-dev
Necesitamos adaptar las opciones de compilación de qmail-ldap, en especial vamos a seleccionar la creación automática de directorios de usuarios y de sus buzones Maildir al recibir el primer correo. Para eso editamos el archivo Makefile y descomentamos unas líneas:
$ nano -w Makefile

---

MDIRMAKE=-DAUTOMAILDIRMAKE

HDIRMAKE=-DAUTOHOMEDIRMAKE

---

$ make

make recompila el código fuente.

Necesitamos

Para hacer efectivo la nueva versión de qmail:

$ su

# svc -t /service/qmail-s*

Primero detenemos los servicios (daemons) de Qmail. Eventualmente chequeamos si en realidad están detenidos con:
# svstat /service/qmail-s*

# make setup check

Al haber instalado los nuevos ejecutables tenemos que agregar algunos archivos de configuración (control files):
# cd /etc/qmail/control

# echo localhost > ldapserver

# svc -u /service/qmail-s*

# exit

$

Es por el momento nos permite enviar y recibir correos en cuentas unix. Falta en este momento nutrir el directorio LDAP y también configurar el acceso de qmail-ldap a el.

Si todavía fuera en uso uno de los programas que queremos reemplazar con la nueva versión, obtenermos el error: text busy, al correr "make setup check".

Nota: observamos, que solo usamos la cuenta superuser (root) durante cuatro líneas: para parar el servicio, para instalar la nueva versión, y para volver a lanzar el servicio.


Jorge.Lehner@gmx.net

DHCPTopDomain Name ServiceCorreo Electrónico - Qmail