Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Tutoriales / Tutorial de Sendmail - Sistema de configuración M4

Tutorial de Sendmail - Sistema de configuración M4

 ***** (3 opiniones)
Creative Commons Tutorial de Diego Bravo Estrada - 27 de Octubre de 2005
Temas Relacionados: Servidores de correo
22. Sistema de configuración M4

Motivación


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.

Regenerando el archivo "cf"


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)dnl ||
La 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.m4 ||
Todo 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 ||

Configuración con M4


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=2h ||
Té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.
Autor y licencia de 'Tutorial de Sendmail - Sistema de configuración M4'
Diego Bravo Estrada Extraído de: http://www.mononeurona.org/index.php?idp=392

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.
Este trabajo está licenciado bajo la Creative Commons License. 1999-2005 © :: MonoNeurona.org ::
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Wikis relacionados con 'Tutorial de Sendmail - Sistema de configuración M4'

Amplio tutorial de Java para empezar a trabajar y ampliar conocimientos de este lenguaje.
El sistema inmune es el sistema de defensa que tienen los organismos superiores. Es un... Más »
Este tutorial presenta los conceptos básicos de líneas de transmisión (Transmission lines), así como una... Más »
Este documento describe cómo usar el sistema de spooling para impresoras de líneas que provee... Más »
En el presente trabajo los autores presentan una reflexión sobre los factores que inciden en... Más »
¿Estás seguro de que deseas eliminar este capítulo?