Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Tutoriales / Tutorial de Sendmail - Partes de una regla

Tutorial de Sendmail - Partes de una regla

 ***** (3 opiniones)
Creative Commons Tutorial de Diego Bravo Estrada - 27 de Octubre de 2005
Temas Relacionados: Servidores de correo
36. Partes de una regla
Cada regla tiene hasta tres partes (el comentario es opcional) separadas por tabuladores (puede haber espacios dentro de cada parte.)

Recuérdese que las reglas alteran las direcciones de correo electrónico.

La primera parte (que sigue inmediatamente al comando "R") es la "left hand side" (lado izquierdo o LHS) mientras que la segunda es la "right hand side" (lado derecho o RHS.) La LHS especifica un patrón de búsqueda. De haber coincidencia con el patrón de búsqueda, la dirección de correo electrónico que se está procesando es convertida en el RHS.

Tokens


A fin de comprender las reglas, es necesario conocer el concepto de "token".

Las direcciones electrónicas procesadas en los rulesets por las reglas son internamente fraccionadas en varias unidades independientes denominadas "token". Así, la dirección proporcionada en el ejemplo de arriba: "diego@hotmail.com" es internamente dividida en los siguientes cinco tokens:

|| diego @ hotmail . com ||
Los siguientes caracteres normalmente delimitan los tokens (y actúan ellos mismos como tokens adicionales): || .:@[] ()<>,;\"\r\n ||

Expresiones de búsqueda


En el ejemplo de arriba, la LHS está conformada por dos "expresión de búsqueda" (comodines o wildcards) de tipo "$+". Estos sirven para buscar coincidencias de uno o más "tokens". Más adelante veremos más de estos comodines.

En nuestro ejemplo, la dirección proporcionada hizo coincidir el primer "$+" con el token "diego" y el segundo "$+" con los tokens "hotmail", ".", "com".

Por el lado de la RHS, el contenido de cada "expresión de búsqueda" es accesible mediante los operadores $1, $2, ... respectivamente. Para nuestro caso, tendremos:

|| $1 = diego $2 = hotmail . com ||
En nuestro ejemplo, el RHS es "$1*${MAILHUB}", lo que equivale a "diego*mail.peru.com.pe", cosa que se aprecia en la respuesta.

El modificador de debug 21.12 permite obtener más información acerca del procesamiento de cada regla.

|| # sendmail -d21.12 -bt -Cprueba.cf ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter <ruleset> <address> > prueba diego@hotmail.com prueba input: diego @ hotmail . com
trying rule: $+ @ $+
rule matches: $1 *mail . peru . com . pe rewritten as: diego *mail . peru . com . pe
trying rule: $+ @ $+
rule fails prueba returns: diego *mail . peru . com . pe ||

Rulesets Internos


Los rulesets 0, 1, 2, 3, 4, 5 están reservados para usos específicos de Sendmail. A futuro Sendmail puede definir los rulesets 6, 7, 8, 9. En general, es conveniente que el usuario defina - si lo requiere - rulesets con textos identificatorios (para que Sendmail automáticamente los numere) con lo que se evitan conflictos innecesarios.

Es conveniente conocer el uso que da Sendmail a los rulesets internos.



En general, todas las direcciones electrónicas pasan por el ruleset 3 apenas se inicia el procesamiento de las mismas. Entre otras cosas, el ruleset 3 extrae la dirección electrónica "apta para procesamiento" a partir de la dirección electrónica entregada por los clientes.

Por ejemplo, es usual que las direcciones electrónicas luzcan así (tal como las genera el programa cliente):

|| Pedro Escobedo <pescobedo@noskhon.com.pe> ||
Obviamente, para efectos de la transferencia del mensaje, el nombre real no es importante. Probemos esto: || # sendmail -bt ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter <ruleset> <address> > 3 Pedro Escobedo <pescobedo@noskhon.com.pe> canonify input: Pedro Escobedo < pescobedo @ noskhon . com . pe > Canonify2 input: pescobedo < @ noskhon . com . pe > Canonify2 returns: pescobedo < @ noskhon . com . pe . > canonify returns: pescobedo < @ noskhon . com . pe . > ||
Lo que hemos hecho es transformar la dirección electrónica mediante el ruleset 3, el cual se encarga de "preprocesar" todas las direcciones electrónicas. Nótese que la respuesta consiste de la dirección electrónica en un formato especial usado internamente.

Es sencillo imprimir el ruleset 3 (o cualquier otro) desde Sendmail. Para esto, simplemente entrar en modo debug (con -bt) y tipear el comando "=S":

|| > =S 3 R$@ $@ < @ > R$* $: $1 < @ > R$* < $* > $* < @ > $: $1 < $2 > $3 ... ||

Finalmente, todavía en modo test, pruébese el comando "/parse" que permite simular el procesamiento de una dirección de correo electrónico (por ejemplo, pruebe "/parse user@localhost".)
Autor y licencia de 'Tutorial de Sendmail - Partes de una regla'
Diego Bravo Estrada Extraído de: http://www.mononeurona.org/index.php?idp=392

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.
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.

Wikis relacionados con 'Tutorial de Sendmail - Partes de una regla'

Amplio tutorial de Java para empezar a trabajar y ampliar conocimientos de este lenguaje.
Este tutorial presenta los conceptos básicos de líneas de transmisión (Transmission lines), así como una... Más »
PHP se ha convertido en el lenguaje de facto de Internet y no es difícil... Más »
Bienvenidos al manual de HTML de Indaya. A través de todos estos capítulos vamos a... Más »
La red telefónica básica se creó para permitir las comunicaciones de voz a distancia. Esto... Más »
Gente Wiki
JORGE PABLO AGUILERA
Soy docente en el area financiera y estoy interesado en ampliar mis conocimientos e intercambiar informacion.
Análisis multivariable, Editoriales,...
Victor Hugo Astorga
Experto en interfaz digital para instrumentos digitales. Pregunta: ¿a quien le pueden preguntar sobre midi? respuesta: a mi!.
Midi
Ing. Elias Jachero
Saludos, soy ingeniero en sistemas y especialista en docencia universitaria, administro el area informatica de la universidad estatal amazónica de...
Juan Martin
Experiencia en soporte a usuarios telefónicamente, personalmente en hardware y software de equipos series a, btos, pc’s , equipos...
Rodrigo Alberto Ramirez Z
Soy medico, graduado en la universidad de antioquia,medellìn colombia, suramerica, me gusta la medicina alternativa, de la cual practico la...
Geriatría
Octavio Olmedo
Soy administrador de redes y creo en el derecho a la informacion.
Seguridad en Internet
Suscribirse
¿Estás seguro de que deseas eliminar este capítulo?