2. Una Configuración Típica

Empezaremos con una descripción general de los pasos que se requieren en una configuración típica de Sendmail.

Los lectores que no disponen de absolutamente ninguna experiencia con Sendmail deberían pasar previamente por la sección denominada "Conceptos".

2.1. Escenario

La gran mayoría de sitios pequeños en Internet puede usar la configuración que proporciona RedHat en forma automática. Es el caso típico de una organización que disponde de un único servidor de correo electrónico con conexión directa a Internet, y que posee un dominio tal como "laorganizacion.org".

Asumiremos que el servidor de correo designado se llama "correo.laorganizacion.org" y no consideraremos detalles de seguridad como firewalls y redes DMZ.

Asumiremos también que nuestros clientes son las estaciones de trabajo que se conectan con algún cliente de correo estándar como "Outlook Express", "Mozilla", etc.

2.2. Configurar el DNS

Asumiremos que las direcciones de correo de nuestros usuarios son de la forma "usuario@laorganizacion.org". En ese caso, en el archivo de configuración de la zona "laorganizacion.org" deberá inscribirse el siguiente registro MX:

@	1D	IN	MX	0	correo
Esto envía los mensajes con ese formato a nuestro servidor "correo.laorganizacion.org". (He asumido el uso de BIND.)

2.3. Configurar las opciones del puerto SMTP

En RedHat 7.x, 8, 9 (y quizá futuras versiones), Sendmail viene por defecto configurado para aceptar sólo conexiones locales; es decir, no recibirá ningún mensaje que llege desde el exterior.

Esto no sirve de mucho en ambientes típicos de red, por lo que editaremos el archivo /etc/mail/sendmail.mc y modificaremos la siguiente línea:

DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')
por:
DAEMON_OPTIONS(`Port=smtp, Name=MTA')
Y regeneraremos la configuración:
# cd /etc/mail
# m4 sendmail.mc > sendmail.cf

Análogamente, en RedHat 7.x se modificará el archivo redhat.mc.

2.4. Configurar el archivo /etc/hosts

Asegurémonos de que existan las siguientes DOS líneas, y que tengan un contenido como a este:

127.0.0.1	localhost
1.2.3.4		correo.organizacion.org	correo
Obviamente, se deberá reemplazar "1.2.3.4" por la dirección IP asociada a la interfaz de la red local.

2.5. Configurar el archivo local-host-names

Como nuestras direcciones son "usuario@organizacion.org", nuestro servidor debe asumir como SUYOS todos los mensajes dirigidos a "@organizacion.org". Esto se consigue escribiendo "organizacion.org" en el archivo /etc/mail/local-host-names:

organizacion.org
En muchas versiones antiguas de Sendmail, el archivo equivalente se llama /etc/sendmail.cw.

2.6. Permitir el relay a nuestros clientes

Asumiremos que las estaciones de nuestra organizacion están contenidas en la subnet "1.2.3.0". En ese caso, añadiremos la siguiente línea al archivo /etc/mail/access:

1.2.3		RELAY
Luego generaremos la versión indexada:
# cd /etc/mail
# make
Nótese que en muchos sistemas distintos a RedHat habrá que usar (en vez de "make") el comando "makemap" con las opciones correspondientes:
bash# cd /etc/mail
bash# makemap hash access < access
Esta funcionalidad viene activada normalmente en la configuración proporcionada por RedHat. En otros sistemas probablemente esto se debe configurar explícitamente como se indica más abajo.

2.7. Configurar servicios POP / IMAP

Estos dos servicios provienen del paquete "imap*.rpm". Se deberán activar con el comando ntsysv o chkconfig (basta con uno de ellos.) Por ejemplo, para el último caso:

bash# chkconfig --level 345 ipop2 on
bash# chkconfig --level 345 ipop3 on
bash# chkconfig --level 345 imap on

Luego se deberá recargar la configuración de xinetd:

# service xinetd reload

Ahora todo está listo por el lado del servidor.

2.8. Pruebas con el cliente "mail"

En los sistemas Linux el comando mail permite enviar y leer mensajes de correo electrónico mediante Sendmail. Por ejemplo, para enviar un mensaje a una cuenta exterior de test:

[diego@edithpiaf diego]$ mail test_user@yahoo.com
Subject: This is a test
There goes the challenger
.
Cc:
[diego@edithpiaf diego]$
La lectura de mensajes de correo recibidos se puede hacer también con el comando "mail":
[pedrito@correo pedrito]$ mail
Mail version 8.1 6/6/93.  Type ? for help.
"/var/spool/mail/pedrito": 1 message 1 new
>N  1 pepe@noskhon.com  Sun Jan 27 06:24 "prueba"
& 
Message 1:
From root@noskhon.com Sun Jan 27 06:24 2002
Delivered-To: pedrito@abejas.org
Date: Mon, 25 Feb 2002 02:09:26 -0500
From: pepe <pepe@noskhon.com>
To: pedrito@abejas.org
Subject: prueba

Esta es una prueba

& 
Durante estas operaciones conviene verificar los mensajes del log desde otra ventana:
# tail -f /var/log/maillog

Véase el apéndice intitulado "Ejemplo de configuración de MUA" si requiere una idea acerca de cómo se configura un cliente gráfico de correo electrónico.