Dividiremos esto en dos partes: configuración del host y configuración de programa Sendmail.
A continuación algunos aspectos muy importantes relacionados al sistema operativo donde Sendmail se ejecutará. Esto NO es propiamente la configuración de Sendmail, pero éste requiere interactuar con diversos elementos del sistema operativo.
A fin de poder enviar mensajes a destinatarios remotos, Sendmail debe ser capaz de obtener la información necesaria de un servidor DNS. Incluso en una red local puede ser conveniente el empleo de un servidor DNS.
Si se desea desactivar completamente el uso del servidor DNS (por ejemplo, si nunca se saldrá a Internet) entonces se debe recompilar Sendmail con las opciones apropiadas (no explicaremos esto aquí.)
En la mayoría de computadores Unix/Linux, la dirección del servidor DNS que usan las aplicaciones se configura en el archivo /etc/resolv.conf. Por ejemplo, si su servidor DNS más cercano (el de la organización o el que ha proporcionado su proveedor) tiene dirección ip 100.2.3.4, entonces el archivo "resolv.conf" del computador destinado para ejecutar Sendmail debe lucir así:
nameserver 100.2.3.4Por lo general se configuran dos o tres servidores DNS.
Por otro lado, a fin de que nos puedan enviar mensajes desde el exterior a nuestro servidor de correo, requerimos administrar un dominio (el dominio de la organización.) Esto implica que habrá un servidor DNS (posiblemente dentro de nuestra organización o administrado por un proveedor) que contenga la configuración de nuestra zona.
Si el dominio de nuestra organización es "laorganizacion.org", es frecuente definir que las direcciones de los usuarios locales tendrán la forma "usuario@laorganizacion.org". En algunos lugares, prefieren direcciones similares a "usuario@mail.laorganizacion.org" aunque esto es a gusto de la organización.
Esto debe reflejarse en la configuración de nuestro dominio en el servidor DNS. Asumiendo que el servidor DNS que administra nuestra zona usa el software BIND, (puede ser cualquier otro) el archivo de la zona "organizacion.org" debería contener al menos estas líneas para que las direcciones de formato "usuario@laorganizacion.org" llegen al servidor.
@ 1D IN MX 0 correo correo 1D IN A 90.8.7.6Si se desea el segundo formato ("usuario@mail.laorganizacion.org"), las líneas correspondientes serían algo como:
mail 1D IN MX 0 correo correo 1D IN A 90.8.7.6Nosotros no detallaremos más la configuración del servidor DNS por ser un tema fuera del ámbito que nos compete. En [2] se puede encontrar una excelente explicación de todo esto.
Nótese que esto último se hará muy probablemente en un computador distinto al que ejecuta Sendmail.
El archivo /etc/hosts es complementario al sistema DNS. Para su correcta operación Sendmail normalmente requiere que el computador en que se ejecuta tenga una configuración como la siguiente:
127.0.0.1 localhost 90.8.7.6 correo.laorganizacion.orgNótese que esto normalmente NO viene así en RedHat.
La dirección IP suministrada debe coincidir con lo que se configuró en el DNS, y el nombre del host debe ser "full", es decir, debe incluir el nombre del dominio.
El nombre del computador donde se ejecuta Sendmail debe corresponder a lo configurado en el DNS y el archivo hosts. Lamentablemente, la configuración de este parámetro varía de sistema en sistema. Por ejemplo, en RedHat, la configuración del hostname se efectúa en el archivo /etc/sysconfig/network en la variable HOSTNAME.
[root@edithpiaf root]# cat /etc/sysconfig/network NETWORKING=yes HOSTNAME=edithpiaf.noskhon.com.pe GATEWAY=172.192.12.1La forma más fácil -pero no la única- de proseguir tras modificar el hostname, consiste en reiniciar el computador.
Sendmail es extremadamente configurable -aunque no necesariamente de un modo sencillo. Para esto posee un archivo de configuración principal que en RedHat 8 es:
/etc/mail/sendmail.cfaunque en otros sistemas Linux/Unix es:
/etc/sendmail.cfo incluso:
/var/adm/sendmail/sendmail.cfLa ruta exacta de este archivo normalmente se define durante la compilación de Sendmail. Es conveniente que el lector lo encuentre antes de proseguir.
Este archivo de configuración de aquí en adelante será llamado el archivo "cf" por la extensión de su nombre.
Como quizá ya haya observado el lector, el archivo "cf" tiene una sintaxis poco intuitiva, y ha sido diseñado principalmente para que el computador lo lea de un modo eficiente (mas no los humanos.)
El archivo "cf" define generalmente la ruta de otros archivos de configuración auxiliares que evitan la modificación directa del primero, simplificando la administración de Sendmail.
En las últimas versiones de sendmail (8.12 o superiores) es usual que se configure el servidor para que se ejecute "dividido" en dos programas complementarios a fin de elevar la seguridad del sistema. La siguiente salida (recortada) de RedHat Linux 8.0 ilustra esta idea:
# ps axuw|grep sendmail root 16216 ? S 15:43 sendmail: accepting connections smmsp 16226 ? S 15:43 sendmail: Queue runner@01:00:00 for /var/spool/clientmqueueEn este caso, el segundo proceso (client queue runner) es controlado mediante otro archivo de configuración:
/etc/mail/submit.cfObviamente, en otros sistemas este archivo se puede encontrar en otros directorios.