18.4. Los Ficheros sendmail.cf y sendmail.mc

El programa procesador de macros m4 genera el fichero sendmail.df cuando procesa el fichero de configuraci�n de macros proporcionado por el administrador del sistema local. A trav�s de lo que resta de este cap�tulo, nos referiremos al fichero de configuraci�n como el fichero sendmail.mc.

EL proceso de configuraci�n es b�sicamente una forma de crear un fichero sendmail.mc apropiado que incluya macros que describan su configuraci�n deseada. Las macros son expresiones que el procesador de macros m4 entiende y expande en la sintaxis compleja de sendmail.cf. Las expresiones macro se componen del nombre de la macro (el texto en letras may�sculas al principio), que se asemejan a una funci�n en un lenguaje de programaci�n, y algunos par�metros (el texto entre corchetes) que se utilizan en la expansi�n. Los par�metros pueden ser pasados literalmente a la salida de sendmail.cf o pueden ser utilizados para controlar la manera en que se realiza el procesamiento de la macro.

El fichero sendmail.mc para una configuraci�n m�nima (UUCP o SMTP con todos los mensajes no locales retransmitidos a un anfitri�n inteligente conectado directamente a Internet) puede ser tan corto como 10 o 15 l�neas, excluyendo comentarios.

18.4.1. Dos Ejemplos de los Ficheros sendmail.mc

Si usted es un administrador de varios hospedajes de correo distintos, quiz� no quiera nombrar su fichero de configuraci�n sendmail.mc. En vez de �sto, es practica usual nombrarlo despu�s del nombre del anfitri�n, —vstout.m4 en nuestro caso. El nombre no importa realmente en tanto que la salida sea llamada sendmail.cf. Proporcionar un nombre �nico para el fichero de configuraci�n de cada anfitri�n le permite conservar todos los ficheros de configuraci�n en el mismo directorio y es tan s�lo una conveniencia administrativa. Echemos un vistazo a dos ejemplos de ficheros de configuraci�n de macros para que sepamos d�nde estamos apuntando.

La mayor�a de las configuraciones de sendmail de la actualidad usan SMTP �nicamente. Es muy sencillo configurar sendmail para SMTP. Ejemplo 18-1 espera que est� disponible un servidor de nombres DNS para resolver anfitriones e intentar� aceptar y enviar todo el correo para los anfitriones usando �nicamente SMTP.

Un fichero sendmail.mc para vstout en la Cervecera Virtual se muestra en Ejemplo 18-2. vstout usa SMTP para comunicarse con todos los anfitri�ns en la LAN de la cervecera, y ver� la semejanza con la configuraci�n gen�rica para SMTP exclusivamente que acaba de presentarse. En suma, la configuraci�n de vstout env�a todo el correo para otros destinatarios moria, su anfitri�n de retransmisi�n a Internet por UUCP.

Si se comparan y contrastan las dos configuraciones, quiz� sea capaz de inferir qu� hace cada uno de los par�metros de configuraci�n. Los explicaremos todos ellos en detalle.

18.4.2. Par�metros sendmail.mc T�picamente Empleados

Unos pocos de los items en el fichero sendmail.mc se requieren todo el tiempo; otros pueden ignorarse si las configuraciones por omisi�n le sirven. La secuencia general de las definiciones en el fichero sendmail.mc son como lo que sigue:

  1. VERSIONID

  2. OSTYPE

  3. DOMAIN

  4. FEATURE

  5. Local macro definitions

  6. MAILER

  7. LOCAL_* conjuntos de reglas (rulesets)

Hablaremos acerca de cada uno en las siguientes secciones y nos referiremos a nuestros ejemplos en Ejemplo 18-1 y Ejemplo 18-2, cuando sea apropiado, para explicarlos.

18.4.2.2. VERSIONID y OSTYPE

    VERSIONID(`@(#)sendmail.mc  8.9 (Linux) 01/10/98')
La macro VERSIONID es opcional, pero es �til para grabar la versi�n de configuraci�n de sendmail en el fichero sendmail.cf. As� que a menudo se encontrar� con ello, y nosotros lo recomendamos. En cualquier caso, aseg�rese de incluir:

    OSTYPE(`linux')
Esta es probablemente la definici�n m�s importante. La macro OSTYPE provoca que se incluya un fichero de definiciones que son buenas opciones predeterminadas para su sistema operativo. La mayor�a de las definiciones en un fichero macro OSTYPE configuran los nombres de ruta de varios ficheros de configuraci�n, transporte de correo [2] y argumentos, y la localizaci�n de directorios que usa sendmail para almacenar mensajes. La distribuci�n est�ndar de c�digo fuente de sendmail incluye un fichero de este tipo para GNU/Linux, que se incluye en el ejemplo previo. Algunas distrbuciones de GNU/Linux, particularmente la distribuci�n Debian, incluye su propio fichero de definiciones que es compatible con la jerarqu�a de ficheros de GNU/Linux. Cuando su distribuci�n haga �sto, probablemente deber�a usar su definici�n en vez de la gen�rica de GNU/Linux por omisi�n.

La definici�n OSTYPE deber�a ser una de las primeras en aparecer en su fichero sendmail.mc, debido a que muchas otras definiciones dependen de ella.

18.4.2.3. DOMAIN

La macro DOMAIN es �til cuando se desea configurar un gran n�mero de m�quinas en la misma red de una manera estandarizada. Si se est� configurando un peque�o n�mero de anfitri�ns, probablemente es mejor no preocparse de �sto. T�picamente se configuran items, como el nombre de los anfitri�ns de retransmisi�n [3] o concentradores [4] que todos los anfitri�ns de la red utilizar�n.

La instalaci�n est�ndar continene un directorio de plantillas de macros m4 utilizadas para dirigir el proceso de configuraci�n. Este directorio se nombra normalmente como /usr/share/sendmail.cf o algo por el estilo. Aqu� se encuentra un subdirectorio nombrado domain que contiene plantillas de configuraci�n espec�ficas para el dominio. Para hacer uso de una macro DOMAIN, se debe crear su propio fichero macro conteniendo las definiciones est�ndar que se requieran para el sitio, y escribirlas en el subdirectorio domain. S�lo se deber�an incluir normalmente las definiciones de macro que sean �nicas a su dominio aqu�, como las definiciones de los anfitri�n inteligentes o los anfitri�n de retransmisi�n, pero no limit�ndose a �stos.

La distribuci�n del c�digo fuente de sendmail viene con algunos ficheros de ejemplo de definici�n de macros que puede usar para crear el suyo propio.

Si salv� su fichero de macros de dominio como /usr/share/sendmail.cf/domain/vbrew.m4, deber�a incluir las definiciones en su sendmail.mc usando:
    DOMAIN(`vbrew')

18.4.2.6. Definici�n de los protocolos de transporte de correo

Si desea que sendmail transporte correo de cualquier otra forma que por entrega local, debe indicarle qu� transporte tiene que emplear. La macro MAILER hace esto muy f�cil. La versi�n actual de sendmail soporta una variedad de protocolos de transporte de correo; algunos de �stos son experimentales, otros son probablemente usados raramente.

En nuestra red necesitamos transporte SMTP para enviar y recibir correo entre los anfitri�ns en nuestra red local, y el transporte UUCP para enviar y recibir correo desde nuestro anfitri�n inteligente. Para lograr �sto, simplemente incluimos ambos transportes de correo, el smtp y el uucp. El transporte de correo local se incluye por omisi�n, pero puede ser definido por claridad, si o desea. Si se incluyen ambos smtp y el uucp en su configuraci�n, debe asegurarse siempre de definir primero el agente de correo smtp.

Los transportes m�s com�nmente usados disponibles al usar la macro MAILER se describen en la siguiente lista:

Hay otros como pop, procmail, mail11, phquery, y cyrus que son �tiles, pero menos comunes. Si le pica la cusiosidad, puede leer sobre �stos en el libro de sendmail o en la documentaci�n suministrada en el paquete de fuentes.

Notas

[1]

starting at the beginning of the next line, delete all characters up to and including the next newline.

[2]

N. del T. mailers en el original

[3]

N. del T: relay anfitri�ns en ingl�s

[4]

N. del T. hubs en ingl�s