Tutorial de Sendmail - Procesar lentamente las conexiones

35 - Procesar lentamente las conexiones

[editar]
Tutorial creado por Diego Bravo Estrada. Extraido de: http://www.mononeurona.org/index.php?idp=392
27 de Octubre de 2005
La opción ConnectionRateThrottle permite "relentizar" las conexiones que llegan a un ritmo muy veloz. Por ejemplo, si este parámetro es igual a cinco, en caso de llegar más de cinco conexiones en menos de un segundo, sólo las cinco son atendias inmediatamente. Otras cinco serán atendidas luego de un segundo, y así sucesivamente.

Esta opción es adecuada cuando se usan las opciones QueueLA y RefuseLA.

|| O ConnectionRateThrottle=5 ||
En M4: || define(`confCONNECTION_RATE_THROTTLE',`5') ||

Reglas y Rulesets


En una primera lectura de este tutorial sugiero evitar todo este material puesto que no es esencial para la gran mayoría de administradores de Sendmail.

Las reglas son especificaciones de configuración que sirven para modificar las direcciones electrónicas y detectar errores en las mismas. Hay diversos motivos por los que una direccion electrónica debe ser modificada; por ejemplo, si se desea que todos los mensajes luzcan como si hubieran sido enviados desde cierto computador aunque en realidad se han enviados desde diversos computadores de distinto nombre.

Los conjuntos de reglas se agrupan en los llamados "Rulesets" que funcionan a modo de "subrutina" de cualquier lenguaje de programación. Los "Rulesets" se identifican con un número, aunque en las últimas versiones de Sendmail es posible identificarlos con una palabra (que internamente es traducida a un número por Sendmail.)

Algunos rulesets son definidos internamente (como los rulesets 0, 1, 2, 3, 4, y 5) mientras que otros se definen manualente en el archivo "cf".

Los rulesets se definen mediante el comando "S" y las reglas mediante el comando "R". A continuación un extracto del archivo "cf" que viene con RedHat 8.0 en el que se ilustra el ruleset "0" o también denominado "parse". Obsérvese que el ruleset termina donde empieza uno nuevo:

|| # Ruleset 0 -- Parse Address # Sparse=0 R$* $: $>Parse0 $1 initial parsing R<@> $#local $: <@> special case error msgs R$* $: $>ParseLocal $1 handle local hacks R$* $: $>Parse1 $1 final parsing ||

Esta salida puede ser muy distinta en otros sistemas Unix/Linux, pero por el momento eso no importa.

El ruleset 0 se pudo definir mediante "S0" en lugar de "Sparse", pero como "parse" es más "comprensible" que "0", entonces se prefiere esta última forma (Sparse=0.)

Para verificar cómo ha cargado Sendmail las reglas, se puede usar el modo de test de Sendmail con el comando "=S" y el número del ruleset:

|| # sendmail -bt ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter <ruleset> <address> > =S 0 R$* $: $> Parse0 $1 R< @ > $# local $: < @ > R$* $: $> ParseLocal $1 R$* $: $> Parse1 $1 ||
Nótese que esto coincide con la definición del archivo de configuración. De igual modo puede consultarse con el nombre del ruleset: || # sendmail -bt ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter <ruleset> <address> > =S parse R$* $: $> Parse0 $1 R< @ > $# local $: < @ > R$* $: $> ParseLocal $1 R$* $: $> Parse1 $1 ||

Como es fácil de apreciar, cada ruleset consiste de varias "reglas" definidas con el comando "R".

Cada regla consiste de dos partes separadas por un tabulador, posiblemente seguidas de un comentario (separado también por un tabulador.)

Ejemplo de ruleset con una regla


Para esta sección haremos algunas modificaciones al archivo de configuración "cf". Sin embargo, a fin de evitar alterar la configuración actual, trabajaremos sobre un archivo "cf" alternativo. Empecemos haciendo una copia del archivo "cf":

|| # cp /etc/mail/sendmail.cf prueba.cf ||
Ahora podremos hacer nuestros cambios en "prueba.cf". Añadiremos a éste último las siguientes líneas en la parte final: || D{MAILHUB}mail.peru.com.pe Sprueba R$+@$+ $1*${MAILHUB} convierte user@host ||
Como se ve, hemos definido la macro "MAILHUB", el ruleset "prueba" y una única regla. Para que la regla esté adecuadamente definida, es imprescindible que sus tres partes estén separadas por al menos un tabulador (no espacios): || R$+@$+ <TAB> $1*${MAILHUB} <TAB> convierte user@host ||
Para probar nuestra regla, ejecutaremos Sendmail en modo de prueba pero especificando el nuevo archivo "cf": || # sendmail -Cprueba.cf -bt ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter <ruleset> <address> > prueba diego@hotmail.com prueba input: diego @ hotmail . com prueba returns: diego *mail . peru . com . pe # ||
Como se aprecia, el modo de prueba permite especificar el nombre de cualquier ruleset seguido por una dirección electrónica a procesar.
[editar]

5 opiniones

ESTA MAL

TIENES QUE AREGLARLA
Esta muy bueno.

Felicito a la persona que publico este tema. Pero necesito saber si sabe como cambiar el camino del sendmail , que en vez de seer en var sea en otro directorio. A toda persona que responderme se lo agradezco

saludos miniyoko23@gmail.com.
Partes de un correo.

Mostrar la pagina de partes de un correo.
Nueva versión.

En www. Gatogringo. Com se puede hallar una versión actualiuzada.
Ingeniero en sistemas.

Muy bueno para quienes no hemos usado la plataforma linux y queremos hacer nuestros primeros pasos en él.

Tutoriales relacionados con 'Tutorial de Sendmail'

Si tuviera que buscar un adjetivo para calificar a Sendmail, pensaría en "excesivo". Excesivo puesto... Más »
Este documento pretende ser una guía rápida de configuración y puesta en funcionamiento de procedimientos... Más »
Este documento es una breve descripción de cómo modificar el fichero de configuración de sendmail... Más »
Esta documentación muestra la forma de montar un sistema de correo con las siguientes características:... Más »
Tutorial Completo para Aprender el sistema operativo Linux Desde lo básico hasta un nivel... Más »

Autor y licencia de 'Tutorial de Sendmail'


Tutorial de Diego Bravo Estrada. Extraido de: http://www.mononeurona.org/index.php?idp=392 CopyLeft
Este trabajo está licenciado bajo la Creative Commons License. 1999-2005 © :: MonoNeurona.org ::
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.