19.8. Instalación UUCP

Exim no posee código específico para transportar correo mediante UUCP ni soporta prohibición de direcciones UUCP. De todos modos, si se usa el direccionamiento de dominios, Exim puede interactuar con UUCP de una manera bastante sencilla. He aquí un fragmento de configuración para enviar ciertos dominios a UUCP tomado de una instalación real:

    # Transporte
    uucp:
      driver = pipe
      user = nobody
      command = "/usr/local/bin/uux -r - \
        ${substr_-5:$host}!rmail ${local_part}"
      return_fail_output = true
    
    # Encaminador
    uucphost:
      transport = uucp
      driver = domainlist
      route_file = /usr/exim/uucphosts
      search_type = lsearch

En un fichero de configuración completo, el transporte se insertaría entre los otros transportes, y el encaminador definido probablemente como el primer encaminador. El fichero /usr/exim/uucphosts contiene entradas como ésta:
    darksite.example.com:           darksite.UUCP
que se interpreta como, “Enviar el correo dirigido al dominio darksite.example.com al anfitrión UUCP darksite.” Puede realizar esta configuración de manera más sencilla sin que el encaminador añada el sufijo .UUCP a darksite sólo para que el transporte se lo quite de nuevo, pero este método resulta útil porque así queda más clara la distinción entre el nombre del dominio darksite.example.com y el nombre del anfitrión UUCP darksite.

Cuando el encaminador se encuentre con un dominio presente en el fichero de rutado, enviará la dirección al transporte UUCP, que se la enviará a su vez a la orden uux (descrita en Capítulo 16). Si ocurre algún problema uux generará alguna salida y terminará con un código de error distinto a cero. Use la opción return_fail_output para asegurarse de que la salida se devuelve al remitente.

Si los mensajes UUCP entrantes se agrupan en ficheros en formato SMTP por lotes, pueden pasarse directamente a Exim usando una orden como ésta:
    exim -bS </var/uucp/incoming/001

De toda formas, no todo es tan sencillo. Cuando Exim recibe un mensaje localmente, insiste en que el remitente es el usuario conectado que lo haya enviado, pero para un lote UUCP queremos que los remitentes se tomen de los mensajes entrantes. Exim hará esto si el proceso que lo llama se está ejecutando como un usuario en el que se confía. Si especifica que el correo UUCP entrante lo gestione por ejemplo un usuario llamado uucp, necesitará especificar:
    trusted_users = uucp
en el fichero de configuración de Exim para asegurarse de que las direcciones de los remitentes se tratan de manera correcta.