Redes-Linux.com
Esta página esta optimizada para ser visualizada tanto en navegadores gráficos, como en navegadores de texto.
 
 
 
Principal  N. Antiguas  Documentación  Documentación Inglés  Distribuciones  Titulares  Enlaces  Download  Sobre el autor  Contactame
 
 
DoQmail, Documentando qmail en
castellano

parche holdremote

Original: http://www.warren.demon.co.uk/qmail.html, traducido por Andrés Rusconi.

Declaración

Este texto aspira a ser una traducción aceptable del documento que acompaña este parche para Qmail, cuyo autor es Nick Leverton (leveret@warren.demon.co.uk)

Aunque he procurado no incurrir en errores, no ofrezco ningun tipo de garantías sobre el mismo y su empleo corre de su propia cuenta y riesgo.

He creado un sencillo parche para Qmail que simplifica de gran manera su empleo en hosts del tipo dial-up. Hasta ahora el uso de Qmail en los mismos no era muy propicio puesto que supone que el camino de entrega siempre esta disponible, lo que implica que cuando se usa discado on-demand, por defecto debiera discar inmediatamente para permitir la entrega. Esto requería el uso de software adicional tal como serialmail o parar y reiniciar qmail con cada conexión para reestabler nuevos parámetros.

Con este parche, el cual modifica únicamente qmail-send, es posible retener y liberar la cola de mensajes remotos a voluntad, usando un nuevo parámetro holdremote, que será releído cuando qmail sea iniciado con un SIGHUP. De esta manera el correo saliente puede encolarse normalmente, pero con el parámetro holdremote asignado, no será entregado. Cuando vaya a conectarse, revise en el script de conexión que el parámetro quede 'en blanco', rellame a qmail-send con un SIGHUP y todo el correo pendiente de entrega será inmediatamente procesado. Cuando se desconecte, restablezca el parámetro y rellame qmail-send con un SIGHUP cualquier envío posterior quedará en la cola hasta la próxima vez que se conecte.

Existe tambíen una opcion holdlocal que funciona de forma análoga: no insume mucho código y quizá alguien podría querer usarla.

¿Por qué usar este parche?

Las ventajas de usar mi método sobre serialmail son:

  • Su uso requiere software y configuración adicional además del paquete básico de qmail que el usuario descarga la primera vez; con mi parche no hay software o configuración adicional (excepto el parche, obviamente)

  • Es precisa una rellamada contínua mientras se esta conectado para que los mensajes más recientes sean encolados; esto implica la instalación de otro paquete de DJB (daemontools). Con mi parche los nuevos mensajes son entregados instantáneamente por qmail tal como se ha establecido, sin carga ni complejidad adicional.

  • Puede terminar ejecutando simultáneamente multiples instancias de serialmail ocasionando que el correo se duplique (si, por ejemplo, esta usando diald configurado por un novato) a menos que emplee daemontools; con el parche esto no puede suceder puesto que solo se cambia un parámetro de qmail.

  • Utilizar serialmail para enviar a un un servidor de retransmisión restringe la cantidad de mensajes que pueden ser enviados a la vez; enviar el correo directamente puede ser potencialmente mas rápido ya que todo el ancho de banda de la conexión puede ser usado para despachar varios mensajes simultáneamente.

  • Usar servidores de retransmisión agrega un Punto Unico de Fallo ( Single Point of Failure) en nuestro correo saliente. Despacharlo directamente a los hosts remotos usando sus registros MX resuelve esto.

No necesita el parche (aunque aun así puede instalarlo) si :

  • Tiene una conexión permanente a la red para el correo saliente.

  • Tiene una conexión dial-up pero no sobre IP.

  • Envía el correo remoto inmediatamente a través de un vínculo PPP según demanda y lo hace feliz continuar haciéndolo de esta manera (generalmente se aplica a gente que no tiene que pagar su propio cargo telefónico :-)).

  • Envía el correo remoto a diferentes destinos via dos o mas vínculos diferentes. En este caso podría usar serialmail, que es un excelente paquete para este propósito.

Descarga del parche

Al momento de escribir esto, la versión de qmail en vigor es la 1.03. Hay versiones del parche para usar con las versiones de Qmail 1.01 y 1.03. Necesita los fuentes de Qmail, a los cuales aplicará el parche usando la siguiente orden:

zcat fichero.patch.gz | patch -p0
Luego compile e instale; ¡tan simple como parpadear!

Disponibilidad del parche Holdremote para versiones de Qmail

Versión de Qmail Nombre del parche Método de Descarga
1.01 qmail-hold-1.01.pat.gz HTTP FTP
1.03 qmail-hold-1.03.pat.gz HTTP FTP

Usando el parche

A continuación, extractos de los scripts que ilustran su empleo. Primero, un extracto del script que se ejecuta cuando se levanta el enlace PPP al proveedor de servicios Internet (en mi caso /etc/diald/ip-up):
{ rm -f /var/qmail/control/holdremote
/usr/bin/killall -HUP qmail-send } &
Debería agregar lo siguiente al script de desconexión de PPP (en mi caso /etc/diald/ip-down):
{ echo 1 >/var/qmail/control/holdremote 
chmod 644 /var/qmail/control/holdremote
chmod 644 /var/qmail/control/holdremote
/usr/bin/killall -HUP qmail-send } &

Finalmente, para asegurarnos de que qmail arranca en el estado de contención ( offline ), necesitará agregar lo siguiente al script que lo inicia (en mi caso es el /etc/rc.d/init.d/sendmail.rc, bajo la opción "start")

echo 1 >/var/qmail/control/holdremote
chmod 644 /var/qmail/control/holdremote

Ultima actualización, 5 de Enero de 1999.

Proyecto DoQmail - webmaster@es.qmail.org

 
 
Principal  N. Antiguas  Documentación  Documentación Inglés  Distribuciones  Titulares  Enlaces  Download  Sobre el autor  Contactame