La configuración de sendmail que se proporciona con la distribución de FreeBSD está diseñada para organizaciones que se conectan directamente a internet. Las organizaciones que deseén enviar y recibir sus correos utilizando UUCP deben instalar otro fichero de configuración para sendmail.
El ajuste de forma manual del archivo
/etc/mail/sendmail.cf
es un tema para expertos.
La versión 8 de sendmail genera
ficheros de configuración mediante el preprocesador
m4(1), gracias al que las opciones de configuración se
pueden escribir utilizando un nivel de abstracción mayor.
Los archivos de configuración de m4(1) se pueden encontrar
en /usr/src/usr.sbin/sendmail/cf
.
Si no se instaló el sistema base con todas las fuentes el conjunto de ficheros de configuración de sendmail se puede obtener a partir de un paquete de fuentes determinado. Suponiendo que tengamos el CDROM con el código fuente de FreeBSD montado se puede ejecutar:
#
cd /cdrom/src
#
cat scontrib.?? | tar xzf - -C /usr/src/contrib/sendmail
Este comando extrae sólamente unos pocos cientos de
kilobytes. El fichero README
que hay en
el directorio cf
puede servirle como
una introducción básica a la configuración
mediante m4(1).
La mejor forma de soportar la entrega de correo mediante UUCP es
utilizando la característica mailertable
.
Esta característica crea una base de datos que
sendmail utiliza para tomar decisiones de
encaminamiento.
En primer lugar creamon el fichero .mc
.
El directorio /usr/src/usr.sbin/sendmail/cf/cf
alberga varios ejemplos del mismo. Suponiendo que nuestro fichero
configuración se llama
foo.mc
para convertir dicho archivo en un fichero
sendmail.cf
válido basta con ejecutar lo
siguiente:
#
cd /usr/src/usr.sbin/sendmail/cf/cf
#
make foo.cf
#
cp foo.cf /etc/mail/sendmail.cf
Un fichero .mc
suele tener este aspecto:
VERSIONID(`Su número de versión
') OSTYPE(bsd4.4) FEATURE(accept_unresolvable_domains) FEATURE(nocanonify) FEATURE(mailertable, `hash -o /etc/mail/mailertable') define(`UUCP_RELAY',su.relay.uucp
) define(`UUCP_MAX_SIZE', 200000) define(`confDONT_PROBE_INTERFACES') MAILER(local) MAILER(smtp) MAILER(uucp) Cwalias.de.su.servidor
Cwnombredesunodouucp.UUCP
Las líneas que contienen
accept_unresolvable_domains
,
nocanonify
, y
confDONT_PROBE_INTERFACES
prohíben la
utilización del DNS durante la entrega de correo.
La cláusula UUCP_RELAY
es necesaria
para soportar entrega mediante UUCP. Lo único que hay que hacer
es escribir un nombre de máquina en ese punto.
Dicha máquina debe ser capaz de gestionar las direcciones del
pseudo-dominio .UUCP; en la mayoría de los casos se escribe en
este punto el nombre de la máquina perteneciente al proveedor de
servicios que hace de relay.
Una vez que tenemos esto configurado se necesita un fichero
/etc/mail/mailertable
. Si solamente tenemos un
enlace con el exterior, que usamos para todos nuestro correos,
basta una configuración como la que se muestra a
continuación:
#
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
. uucp-dom:su.relay.uucp
Un ejemplo más complejo puede parecerse al siguiente:
# # makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable # horus.interface-business.de uucp-dom:horus .interface-business.de uucp-dom:if-bus interface-business.de uucp-dom:if-bus .heep.sax.de smtp8:%1 horus.UUCP uucp-dom:horus if-bus.UUCP uucp-dom:if-bus . uucp-dom:
Las primeras tres líneas se encargan de manejar casos
especiales en los que el correo dirigido directamente al dominio no se
envía a la ruta por defecto sino a algún vecino UUCP para
acortar el número de saltos involucrados en la entrega de dichos
correos.
La siguiente línea gestiona el correo para el dominio ethernet
local, el cual puede ser entregado utilizando SMTP. Finalmente los
vecinos UUCP se mencionan en la notación de pseudo-dominio
.UUCP para permitir que un
vecino UUCP receptor
de correo pueda sobreescribir las reglas por defecto. La última
línea siempre es un punto; se asocia con cualquier otra cosa que
no ha sido tratada en reglas anteriores y donde se realiza entrega UUCP
a un vecino UUCP que sirve como pasarela de correo universal para todo
el mundo. Todos los nombres de máquinas bajo la clave
uucp-dom:
deben ser vecinos UUCP válidos, lo
cual se puede verificar utilizando el comando
uuname
.
Recuerde que este fichero debe convertirse en una base de datos DBM
antes de que usarse. El comando que se utiliza para realizar esta tarea
se suele especificar como un comentario al principio del fichero
mailertable
. Cada vez que se modifique el fichero
mailertable
se debe ejecutar dicho comando.
Un consejo final: si dudamos sobre una determinada ruta de
encaminamiento de correo se puede ejecutar
sendmail con el parámetro -bt
.
Este parámetro ejecuta sendmail
en modo prueba de direcciones;
simplemente basta con escribir 3,0
seguido por la
dirección de correo de la que queremos comprobar su correcto
encaminamiento. La última línea nos dice el agente de
correo interno que se utiliza, la máquina de destino con que el
agente será invocado y la dirección (posiblemente
traducida) de correo. Se puede abandonar este modo de funcionamiento
escribiendo Ctrl+D.
%
sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter <ruleset> <address>>
3,0 prueba@ejemplo.com
canonify input: foo @ example . com ... parse returns: $# uucp-dom $@su.relay.uucp
$: prueba < @ ejemplo . com . >>
^D
Puede descargar éste y muchos otros documentos desde ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Si tiene dudas sobre FreeBSD consulte la
documentación antes de escribir a la lista
<questions@FreeBSD.org>.
Envíe sus preguntas sobre la documentación a
<doc@FreeBSD.org>.