Si el lector tuvo curiosidad de listar el archivo "cf", habr� notado seguramente que �ste tiene una sintaxis muy poco intuitiva. Este problema no ha pasado desapercibido para los desarrolladores de Sendmail (aunque la cura quiz� haya resultado peor que la enfermedad:)
A fin de facilitar la configuraci�n de Sendmail para los usuarios ocasionales y los administradores en general, existe un mecanismo complementario que evita la escritura y modificaci�n directa del archivo "cf". Este mecanismo consiste en escribir un archivo relativamente sencillo usando la sintaxis del lenguaje "M4", el cual se proporciona en pr�cticamente todos los sistemas Unix/Linux (a veces como software opcional.)
Mediante este sistema, el usuario crear� (o modificar�) un archivo relativamente breve, el cual se traducir� en muchas l�neas del archivo "cf".
Lo cierto es que es absolutamente impr�ctico escribir "desde cero" un archivo "cf" medianamente utilizable, as� que el m�todo M4 es una opci�n casi obligatoria.
Antes de hacer modificaciones, es recomendable conocer c�mo se gener� el archivo "cf" proporcionado por el sistema. Normalmente �ste proviene de un archivo tipo "M4". Lamentablemente esto no es v�lido en todos los casos, y las rutas de los archivos involucrados son muy variables.
En RedHat 8 el archivo "cf" distribuido (/etc/mail/sendmail.cf) se puede regenerar en cualquier momento a partir del archivo (/etc/mail/sendmail.mc) que usa la sintaxis "M4". Esto se puede hacer con el siguiente comando:
# cd /etc/mail # m4 sendmail.mc > sendmail.cf* NOTA: Aseg�rese de sacar una copia al archivo "cf" antes de hacer esto!
En RedHat 7 la secuencia es parecida, aunque los directorios difieren:
bash# cd /usr/share/sendmail-cf/cf bash# m4 redhat.mc > /etc/sendmail.cf
En otros sistemas Unix/Linux (incluso RedHat en versiones anteriores) el archivo sendmail.mc puede tener un nombre distinto y una ubicaci�n distinta, y habr� que ver la documentaci�n respectiva. Por ejemplo, en RedHat 7 se llamaba redhat.mc y se ubicaba en /usr/share/sendmail-cf/cf.
Incluso puede ser que este archivo simplemente no exista y haya que generar uno nuevo. En ese caso Ud. deber� ubicar primero el directorio "cf" de Sendmail y crear un archivo (le llamaremos prueba.mc) tal como:
include(`../m4/cf.m4') OSTYPE(hpux10)dnl MAILER(local)dnl MAILER(smtp)dnlLa directiva OSTYPE requiere que Ud. especifique su versi�n de sistema operativo (en el ejemplo, HP/UX V.10.) Para ver los sistemas disponibles, vea el directorio sendmail-cf/ostype o cf/ostype. En mi caso:
bash# ls ../ostype/ aix2.m4 bsdi2.0.m4 irix4.m4 powerux.m4 aix3.m4 bsdi.m4 irix5.m4 ptx2.m4 aix4.m4 darwin.m4 irix6.m4 qnx.m4 aix5.m4 dgux.m4 isc4.1.m4 riscos4.5.m4 altos.m4 domainos.m4 linux.m4 sco3.2.m4 amdahl-uts.m4 dynix3.2.m4 maxion.m4 sco-uw-2.1.m4 aux.m4 gnu.m4 mklinux.m4 sinix.m4 bsd4.3.m4 hpux10.m4 nextstep.m4 solaris2.m4 bsd4.4.m4 hpux11.m4 openbsd.m4 solaris2.ml.m4 bsdi1.0.m4 hpux9.m4 osf1.m4 solaris2.pre5.m4Todo esto requiere que se trabaje en el subdirectorio sendmail-cf/cf o cf/cf. A continuaci�n, ejecutar m4:
bash# m4 prueba.mc > /etc/sendmail.cf
Volviendo a Linux RedHat, los archivos "M4" usados por Sendmail se proporcionan en el paquete "sendmail-cf". Obviamente requerir� tambi�n el paquete "m4" para poder usarlo. En otros sistemas Unix/Linux el software "M4" puede ser opcional o parte de las herramientas de desarrollo.
En Linux RedHat 8.0 y superiores, es tambi�n posible regenerar el archivo "submit.cf" a partir de:
# cd /etc/mail # m4 submit.mc > submit.cf
El sistema M4 de Sendmail permite generar configuraciones para distintos prop�sitos as� como alterar opciones bastante puntuales. A modo de ejemplo, el par�metro que controla el "tiempo de alerta" de un mensaje en cola (no se preocupe si no entiende esto, es s�lo un ejemplo), se configura con M4 mediante una l�nea como la siguiente:
define(`confTO_QUEUEWARN',`2h')Lo cual se traduce en exactamente la siguiente l�nea en el archivo "cf" generado:
O Timeout.queuewarn=2hT�ngase cuidado dentro del archivo "M4" de emplear las comillas adecuadas para cada caso (obs�rve que se han usado ambos tipos:
` y '
En resumen, mediante la sintaxis (simple) de "M4", se puede regenerar un archivo en la sintaxis (compleja) del "cf". Recu�rdese que al final, el programa Sendmail s�lo utilizar� el archivo "cf".
En lo que sigue, presentaremos la configuraci�n de Sendmail empleando ambos m�todos cuando sea posible, pero se preferir� el m�todo M4. Como se indic�, algunas directivas del m�todo "M4" se traducen a una gran cantidad de complejas directivas del archivo "cf", el cual resulta impr�ctico.