4. Empezando

4.1. Instalaci�n

4.1.1. RedHat Linux

En los sistemas Linux RedHat, el servidor Sendmail se distribuye mediante el paquete "sendmail". Sin embargo, se har� bien en instalar otros paquetes adicionales tales como sendmail-cf y sendmail-doc, que proporcionan herramientas de configuraci�n y documentaci�n adicional, respectivamente. Adicionalmente se requerir� el paquete "m4".

La instalaci�n en RedHat, como de costumbre, se har� mediante el comando RPM (o durante la instalaci�n del sistema operativo, eligiendo "Mail Server" entre las opciones.) Aqu� no explicaremos el comando RPM y nos limitaremos a mostrar c�mo se puede verificar si los paquetes han sido instalados:

bash# rpm -qa|grep sendmail
sendmail-cf-8.11.2-14
sendmail-8.11.2-14
sendmail-doc-8.11.2-14
bash# rpm -q m4
m4-1.4.1-4

La version de los paquetes indicados arriba puede ser distinta dependiendo de la versi�n de RedHat. El ejemplo anterior se refiere a una instalaci�n RedHat 7.1.

4.1.2. Otros Sistemas Operativos

En casi todos los sistemas operativos Linux y Unix principales, Sendmail se distribuye por el mismo proveedor (posiblemente con algunas alteraciones.) En estos casos el m�todo de instalaci�n de paquetes puede variar, y se deber� consultar la documentaci�n respectiva.

4.1.3. Desde la fuente

En RedHat y cualquier otro sistema operativo, siempre existe la posibilidad de descargar el c�digo fuente de Sendmail a fin de compilarlo e instalarlo manualmente. En este caso deber� descargarse el archivo ".tar" de:

ftp://ftp.sendmail.org/ucb/sendmail
Al desempacarse este archivo, se encontrar� documentos que explican el procedimiento de compilaci�n e instalaci�n (archivo READ_ME.)

4.2. Probando Sendmail

Asumiremos que Sendmail ya ha sido instalado. Para verificar la instalaci�n y obtener cierta informaci�n b�sica, usaremos el siguiente comando, cuyo resultado se muestra para mi computador:

# sendmail -d0.1 -bt
Version 8.12.5
 Compiled with: DNSMAP HESIOD HES_GETMAILHOST LDAPMAP LOG MAP_REGEX
                MATCHGECOS MILTER MIME7TO8 MIME8TO7 NAMED_BIND NETINET NETINET6
                NETUNIX NEWDB NIS PIPELINING SASL SCANF STARTTLS TCPWRAPPERS
                USERDB USE_LDAP_INIT

============ SYSTEM IDENTITY (after readcf) ============
      (short domain name) $w = edithpiaf
  (canonical domain name) $j = edithpiaf.noskhon.com.pe
         (subdomain name) $m = noskhon.com.pe
              (node name) $k = edithpiaf.noskhon.com.pe
========================================================

ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
>
# 
Para salir del prompt ">" se presion� [CTRL]+[D].

N�tese que este comando ha sido ejecutado por el administrador. Los usuarios normales normalmente deber�n especificar la ruta completa del ejecutable "sendmail" a fin de obtener algo similar:

[diego@edithpiaf diego]$ /usr/sbin/sendmail -d0.1 -bt
Version 8.12.5
 Compiled with: DNSMAP HESIOD HES_GETMAILHOST LDAPMAP LOG MAP_REGEX
                MATCHGECOS MILTER MIME7TO8 MIME8TO7 NAMED_BIND NETINET NETINET6
... siguen m�s l�neas ...

La opci�n "-bt" significa "modo de test", y el "-d0.1" significa "debug de aspectos generales (el cero), en nivel 1". Al modificar el nivel de debug se puede obtener m�s informaci�n. Por ejemplo, el lector podr�a observar la salida que presenta el comando anterior con "-d0.15".

4.3. Inicio autom�tico

Como se aprecia, el servidor "sendmail" puede ser invocado en modo interactivo con diversos prop�sitos, sin embargo, lo usual es que opere en forma "no interactiva", o como se suele decir en sistemas Unix, como un "demonio". Por lo general esto es configurado en los scripts de inicio del sistema operativo de modo tal que el "demonio sendmail" se inicie en forma autom�tica cada vez que el computador es iniciado.

En un sistema RedHat Linux (versiones 7 en adelante) se puede emplear el comando "service" para invocar a estos scripts en cualquier momento. Por ejemplo, para consultar acerca del estado actual del servicio Sendmail:

[root@edithpiaf root]# service sendmail status
sendmail est� parado
Para iniciarlo:
[root@edithpiaf root]# service sendmail start
Iniciando sendmail:                           [  OK  ]
Inicio de sm-client:                          [  OK  ]
Para detenerlo:
[root@edithpiaf root]# service sendmail stop
Apagando sendmail:                            [  OK  ]
Desactivaci�n de sm-client:                   [  OK  ]
En otros sistemas habr� que consultar la respectiva documentaci�n. El comando necesario podr�a ser como sigue:
bash# /etc/rc.d/init.d/sendmail start
o
bash# /etc/init.d/sendmail start
o
bash# /sbin/init.d/sendmail start
Y para detenerlo, reemplazar el "start" por un "stop".

Para que esto se ejecute autom�ticamente cuando el sistema se inicia, en RedHat se suele emplear los comandos ntsysv o chkconfig.

4.4. El log

Sendmail, como cualquier programa relacionado con el correo electr�nico, genera mensajes de eventos (logs) mediante syslog. En los sistemas RedHat normalmente syslog est� configurado para enviar los mensajes hacia el archivo /var/log/maillog. Cuando se hacen pruebas con Sendmail es muy conveniente tener una ventana o terminal abierta mostrando el log:

# tail -f /var/log/maillog
Oct 26 18:17:10 edithpiaf sendmail[1812]: h9QNHAM0001812: 
from=root, size=421, class=0, nrcpts=1, msgid=<200310262317.
[email protected]>, relay=root@localhost
Oct 26 18:17:10 edithpiaf sendmail[1812]: h9QNHAM0001812: 
to=root, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, 
mailer=relay, pri=30065, relay=localhost.noskhon.com.pe. 
\[127.0.0.1\], dsn=4.0.0, stat=Deferred: Connection refused 
by localhost.noskhon.com.pe.
Oct 27 17:52:14 edithpiaf sendmail[2299]: h9RMqEA5002299: 
from=root, size=244, class=0, nrcpts=1, msgid=<200310272252.
[email protected]>, relay=root@localhost
Oct 27 17:52:14 edithpiaf sendmail[2299]: h9RMqEA5002299: 
to=root, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, 
mailer=relay, pri=30065, relay=localhost.noskhon.com.pe. 
[127.0.0.1], dsn=4.0.0, stat=Deferred: Connection refused by 
localhost.noskhon.com.pe.