| | | Correo 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.
- 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
- /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
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 de los daemons:
-
svstat /service/*
Verificación de la entrega:
- se visualiza la bitacora en flujo:
-
tail -f /var/log/qmail-send/current
- se envia un correo de prueba local:
-
echo | mail root
- se envia un correo de prueba remota:
-
echo | mail -s "prueba" postmaster@unan.edu.ni
-
# 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.
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
| | | Correo Electrónico - Qmail |