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.
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.
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/sendmailAl desempacarse este archivo, se encontrar� documentos que explican el procedimiento de compilaci�n e instalaci�n (archivo READ_ME.)
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".
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� paradoPara 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 starto
bash# /etc/init.d/sendmail starto
bash# /sbin/init.d/sendmail startY 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.
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.