Frequently Asked Questions para FreeBSD 2.X : Administración de sistema : Cómo uso sendmail para envio de mail UUCP?
Previous: Soporta FreeBSD primitivas IPC System V?
Next: Cómo configuro el correo para conexiones NO permanentes a Internet?

8.18. Cómo uso sendmail para envio de mail UUCP?

La configuración de sendmail incluida en FreeBSD está preparada para sistemas que conectan directamente con Internet. Los sistemas que quieran usar UUCP para el envío de mail deben utilizar otro fichero de configuración.

Retocar /etc/sendmail.cf manualmente está considerado algo para puristas. La versión 8 de sendmail incluye un nuevo sistema de configuración llamado m4, en el cual la configuración se realiza en un nivel más alto. Deberías usar los ficheros de configuración situados en

        /usr/src/usr.sbin/sendmail/cf
      

Si no instalaste tu sistema con el código fuente completo, el paquete de configuración de sendmail está en una distribución aparte. Asumiendo que tienes tu CD-ROM montado, haz:

        cd /usr/src
        tar -xvzf /cdrom/dists/src/ssmailcf.aa
      

No te preocupes, solo son unos cientos de kilobytes de tamaño. El fichero README en el directorio cf puede servir como introducción a la configuración del m4.

Para envío y recepción va UUCP, te aconsejamos usar la opción mailertable. Se basa en una base de datos que sendmail puede usar como base para tomar las decisiones de enrutado del mail.

Primero tienes que crear tu fichero .mc. Estos ficheros se encuentran en el directorio /usr/src/usr.sbin/sendmail/cf/cf. Si miras, encontrarás algunos ejemplos. Asumiendo que tu fichero se llama foo.com, todo lo que necesitas hacer para convertirlo en un fichero sendmail.cf válido es:

        cd /usr/src/usr.sbin/sendmail/cf/cf
        make foo.cf
        cp foo.cf /etc/sendmail.cf
      

Un fichero típico .mc sería algo como:

        include(`../m4/cf.m4')
        VERSIONID(`Your version number')
        OSTYPE(bsd4.4)

        FEATURE(nodns)
        FEATURE(nocanonify)
        FEATURE(mailertable)

        define(`UUCP_RELAY', your.uucp.relay)
        define(`UUCP_MAX_SIZE', 200000)

        MAILER(local)
        MAILER(smtp)
        MAILER(uucp)

        Cw    your.alias.host.name
        Cw    youruucpnodename.UUCP
      

Las opciones nodns y nocanonify previenen del uso del DNS durante el tráfico de correo. La cláusula UUCP_RELAY se necesita por razones imperiosas, no preguntes :). Simplemente pon un nombre de máquina de Internet que sea capaz de gestionar pseudo-dominios .UUCP; más sencillo, entrarás el mail relay de tu ISP.

Una vez hayas hecho esto, necesitas el fichero llamado /etc/mailtertable. Un ejemplo típico sería:

        #
        # makemap hash /etc/mailertable.db < /etc/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:sax
      

Como puedes ver, esto es parte de un fichero real. Las tres primeras líneas manejan casos especiales donde el correo dirigido a un dominio no debe ser enviado a través de la ruta por defecto, si no a través de un UUCP vecino para acortar el path de envío. La siguiente línea gestiona el mail del dominio local para que sea enviado vía SMTP. Finalmente, los vecinos UUCP son anotados en la parte .UUCP pseudo-domains, para poder sobreescribir las reglas por defecto. La última línea es siempre un punto, que indica el mail gateway hacia el resto del mundo. Todos los nombres de nodos detrás de uucp-dom: deben ser vecinos válidos UUCP.

Como recordatorio de que este fichero debe ser convertido a una base de datos DBM antes de ser usada, la línea de comandos para realizar esta operación esta puesta como un comentario al inicio del fichero. Siempre tienes que ejecutar este comando cada vez que realices algún cambio en tu mailtertable.

Si no tienes la seguridad de que una ruta de correo vaya a funcionar correctamente, recuerda la opción -bt de sendmail. Esta opción arranca el sendmail en modo test; simplemente entra 0, seguido por la dirección de mail sobre la que quieres testear la ruta. La última línea te indica el agente interno, el host de destino y la dirección (posiblemente traducido). Sal de este modo tecleando Control-D.

        j@uriah 191% sendmail -bt
        ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
        Enter <ruleset> <address>
        > 0 foo@interface-business.de
        rewrite: ruleset  0   input: foo @ interface-business . de
        ...
        rewrite: ruleset  0 returns: $# uucp-dom $@ if-bus $: foo \
        < @ interface-business . de >
        > ^D
        j@uriah 192%
      


Frequently Asked Questions para FreeBSD 2.X : Administración de sistema : Cómo uso sendmail para envio de mail UUCP?
Previous: Soporta FreeBSD primitivas IPC System V?
Next: Cómo configuro el correo para conexiones NO permanentes a Internet?