Cuando lleve usando KMail un tiempo, descubrirá que tiene problemas para ordenar los nuevos mensajes cuando llegan a la bandeja de entrada. Los filtros le permiten realizar ciertas tareas automáticamente sobre los mensajes entrantes y llevar a cabo acciones manualmente sobre los mensajes seleccionados en una carpeta.
Los filtros constan de criterios de filtrado, cuyas reglas se utilizan como criterio para determinar si un filtro concreto se debería aplicar a un mensaje concreto; y una lista de acciones de filtro, que describe qué se debe hacer con el mensaje si el patrón de búsqueda coincide. Lea más sobre los criterios de filtrado y las acciones de los filtros en las siguientes subsecciones.
Nota
Los filtros se consideran uno después de otro, comenzando por el primero de la lista. El primero en el que coincida el patrón de búsqueda será ejecutado. Usted puede solicitar que también se apliquen el resto de filtros, pero el comportamiento predeterminado es que el procesamiento se detenga tras la primera coincidencia.
Normalmente, los filtros se utilizan en los mensajes entrantes, pero también son válidos para un mensaje o un grupo de mensajes cualesquiera. Para filtrar mensajes selectivamente, elija aquellos que desea filtrar y teclee Ctrl+J o seleccione → . Se aplicarán a esos mensajes todos los filtros que se hayan marcado para el filtrado manual en el diálogo de filtro.
Hay dos métodos de crear un filtro: El rápido es utilizar → y seleccione un criterio del submenú. De esta manera se abrirá el diálogo de filtros con uno nuevo abierto que contendrá la primera regla del patrón de búsqueda y la primera acción predeterminada (como Mover a carpeta ). En la mayoría de los casos, lo único que tendrá que hacer es seleccionar la carpeta a la que se deba mover le mensaje. Pero también puede, desde luego, editar el filtro a su gusto.
Al crear un filtro sobre los mensajes de una lista de correo, este método intentará realizar una búsqueda intensa de una cabecera que identifique únicamente los correos de esa lista. Si lo consigue, el supuesto nombre aparecerá en la entrada de menú → → .
El segundo método es construir manualmente un filtro, partiendo de la nada, llamando al diálogo de filtros a través de → . El diálogo de filtros está descrito con detalle en la siguiente subsección.
Este diálogo le permite administrar y editar su lista de filtros.
Usted puede abrir este diálogo a través de → o → .
El diálogo se divide en tres secciones principales en las pestañas General y Avanzada:
- Filtros disponibles
Este grupo contiene la lista de los filtros y los botones de acción para modificarlos, nominalmente: crear nuevos filtros; cambiar su posición en la lista; borrarlos o cambiarlos de nombre. Si selecciona un filtro de la lista, sus propiedades se mostrarán en la mitad derecha del diálogo.
- Criterio de filtrado
En este grupo puede editar el patrón con el que deben coincidir los mensajes para que se les aplique el filtro. Puede seleccionar aquí si todas las reglas deben cumplirse o si es suficiente con que se cumpla una sola. Vea más adelante la sección Patrones de búsqueda para obtener una descripción detallada de cada tipo de regla de búsqueda.
Puede pulsar en el botón para añadir reglas (inicialmente vacías) si usted quiere definir patrones más complejos y para eliminar la última regla. El botón borra el patrón, es decir, elimina todas las reglas de la pantalla menos dos y esas las deja vacías.
Las reglas no válidas o vacías no son evaluadas.
- Acciones de filtrado
En este grupo usted puede editar la lista de acciones que se aplicarán a todos los mensajes que coincidan con los criterios de búsqueda. Vea a continuación Acciones de filtrado para obtener una descripción detallada de cada tipo de acción.
Usted puede pulsar en para obtener una acción nueva (si desea definir más de una) y en para eliminar la última acción. borra la lista, es decir, elimina todas las acciones menos una y esa la vacía.
Las acciones no válidas o vacías no son ejecutadas.
- Opciones avanzadas
En este grupo se pueden definir algunas opciones avanzadas para los filtros, que le permiten ajustar mejor el filtrado.
Usando la primera fila de casillas de verificación, puede alternar entre aplicar o no el filtro: la opción Aplicar este filtro a mensajes entrantes significa que el filtro se aplica a los mensajes cuando los recibe (es decir al Comprobar correo). El filtro puede aplicarse a todos los mensajes, a todos menos las cuentas IMAP en línea y a una selección de carpetas entrantes.
La opción Aplicar este filtro a mensajes entrantes significa que el filtro se aplica a los mensajes cuando usted los envía y la opción Aplicar este filtro en filtrado manual controla si aplicar este filtro cuando se selecciona específicamente el filtrado (es decir por medio de → ).
Si está marcado Aplicar este filtro a los mensajes enviados, el filtro se disparará después de que se envíe el mensaje y solo afectará a la copia local del mensaje. Si la copia del destinatario también necesita modificarse, por favor, utilice Aplicar este filtro antes de enviar mensajes.
La casilla de verificación Si coincide con este filtro, detener aquí el procesamiento controla si los filtros siguientes al actual se aplican o no, si coincide el filtro actual.
Si la casilla de verificación Añadir este filtro al menú Aplicar filtro está seleccionada, este filtro se insertará en el submenú → . Luego puede aplicar este filtro a un mensaje. Otra forma de aplicar los filtros es usar la opción → del menú, que aplica todos los filtros - uno tras otro hasta que todos los que haya se hayan usado o uno de los filtros que coincida tenga configurado Si coincide el filtro, detener el procesamiento aquí.
Nota
A los filtros se les asigna un nombre automáticamente, salvo que usted los cambie de nombre específicamente utilizando el botón . El diálogo supone que debe seguir nombrando automáticamente al filtro mientras su nombre comience por “<”.
Nota
Si usted aplica cambios a los filtros a través de los botones o , solo se copiarán los filtros válidos al administrador de filtros interno.
Igualmente, las reglas y acciones vacías son eliminadas de las listas de patrones y acciones respectivamente, antes de guardar el filtro.
El uso más común de los filtros es filtrar al remitente de los mensajes. Esto puede hacerse mediante la elección de De. Una buena cabecera para una lista de correo puede ser <destinatarios>. Pero hay otros criterios por los que un filtro puede buscar (tenga en cuenta que todos los patrones se interpretan sin tener en cuenta mayúsculas/minúsculas):
- <mensaje>
Busca en todo el mensaje (es decir cabeceras, cuerpo y adjuntos, si los hay);
- <cuerpo>
Busca en el cuerpo del mensaje (es decir, todo el mensaje, salvo las cabeceras);
- <cualquier cabecera>
Busca en las cabeceras del mensaje;
- <destinatarios>
Busca en los campos “Para” y “CC” del encabezado del mensaje;
- <tamaño en bytes>
Establece los límites inferiores o superiores del tamaño del mensaje;
- <edad en días>
Establece los límites superiores o inferiores de la antigüedad del mensaje;
- <estado>
Define las restricciones al estado del mensaje;
- Cualquier otro nombre
Busca el campo de la cabecera indicado por ese nombre.
La lista de posibles reglas depende de lo que haya seleccionado en la primera lista desplegable. Las reglas disponibles son:
| Regla | Disponible para | Descripción |
|---|---|---|
| contiene/no contiene | todos los elementos de búsqueda textual | Coincide si los elementos de la búsqueda contienen (o no contienen) el texto dado. |
| igual/no igual | elementos de búsqueda más textuales | Coincide si el elemento buscado es igual (o diferente) al texto dado. |
| coincide con expr. regular/no coincide con expr. regular | todos los elementos de búsqueda textual | Coincide si una parte del elemento buscado coincide (o no coincide) con la expresión regular dada. Si está instalado el editor de expresiones regulares, puede editar la expresión regular pulsando sobre el botón Editar.... |
| tiene un adjunto/no tiene ningún adjunto | <mensaje> | Coincide si el mensaje tiene un adjunto (o si no tiene ninguno). |
| está en la libreta de direcciones/no está en la libreta de direcciones | elementos de búsqueda más textuales | Coincide si el elemento buscado contiene una dirección que esté en su libreta de direcciones (o si los elementos buscados solo contienen direcciones desconocidas). Por supuesto, esta regla solo tiene sentido para campos de dirección como De o <destinatarios> |
| está en la categoría/no está en la categoría | elementos de búsqueda más textuales | Coincide si el elemento buscado contiene una dirección que esté en la categoría indicada de su libreta de direcciones (o si el elemento buscado no contiene ninguna dirección que esté en la categoría especificada). De nuevo, esta regla solo tiene sentido para los campos de dirección. |
| es igual a/no es igual a | elementos de búsqueda numérica | Coincide si el valor del elemento buscado es igual a (o no es igual a) el valor especificado. |
| es menor que | elementos de búsqueda numérica | Coincide si el valor del elemento buscado es menor que el valor especificado. |
| es mayor que | elementos de búsqueda numérica | Coincide si el valor del elemento buscado es mayor que el valor especificado. |
| es menor o igual que | elementos de búsqueda numérica | Coincide si el valor del elemento buscado es menor o igual que el valor especificado. |
| es mayor o igual que | elementos de búsqueda numérica | Coincide si el valor del elemento buscado es mayor o igual que el valor especificado. |
| está/no está | <estado> | Coincide si el mensaje tiene (o no tiene) el estado especificado. |
El uso más frecuente de los filtros es el de ordenar los mensajes entrantes en diferentes carpetas. Esto se puede hacer con la opción Mover a carpeta. Aquí tiene una lista de posibles acciones:
- Mover a la carpeta
Esto moverá el mensaje a otra carpeta, eliminándolo de su carpeta actual si fuera necesario. Por ahora, no se pueden utilizar carpetas IMAP como destino.
- Copiar en la carpeta
Copiará el mensaje en otra carpeta.
Nota
En este momento usted no puede usar carpetas IMAP como destino.
- Definir identidad como
Definirá la identidad que se va a usar si usted responde al mensaje.
- Marcar como
Esto permite marcar los mensajes como leído o importante, pero también cómo reenviado, contestado, etc.
- Enviar MDN falso
Enviará un mensaje de notificación de disposición falso (es decir un recibo de lectura) al remitente del mensaje.
- Definir transporte como
Esto establecerá el método de transporte (por ejemplo SMTP) que se va a usar si responde al mensaje.
- Establecer «Responder a» a
Modificará el campo Responder a de este mensaje. Esto es útil para las listas de correo que envían automáticamente una dirección de respuesta que no es de su gusto.
- Reenviar a
Reenviará el mensaje intercalado (es decir como si hubiera seleccionado → → ) a otras direcciones de correo electrónico. Puede seleccionar la plantilla que debe usarse cuando se redireccione con este filtro con la lista desplegable.
- Redirigir a
Redirigirá el mensaje como para otra dirección de correo electrónico.
- Confirmar entrega
Intentará devolver un mensaje al remitente indicando que el mensaje ha sido entregado correctamente, si es que lo solicitó.
Esta acción permite seleccionar quien recibirá los acuses de recibo que usted envíe. Aunque se puede activar el envío de confirmaciones de entrega en el diálogo Configurar KMail... (sección página Seguridad), le recomendamos no enviárselos a nadie, ya que, por ejemplo, fácilmente puede hacer pensar al remitente que se trata de correo basura.
- Ejecutar orden
Ejecutará un programa, pero no modificará el mensaje. Especifique la ruta completa al programa que quiera ejecutar. KMail se bloqueará hasta que la orden devuelva el resultado. Si no quiere que se bloquee KMail, añada «&» a la orden. Puede alimentar al programa con las partes del correo: %0, %1, etc. hacen las veces de los archivos que representan las partes del mensaje. Para los mensajes normales, %0 es el texto, %1 el primer adjunto y así sucesivamente. Además, el mensaje completo se pone en la entrada estándar (stdin) del programa y cada aparición de %{algo} se remplaza por el contenido de la cabecera algo. Si usted necesita identificar el mensaje mediante su ubicación en el almacenamiento en el almacén Akonadi, puede usar los marcadores de posición %{itemid} o %{itemurl} para lograrlo.
Aviso
En la actualidad esto solo funciona si el mensaje contiene al menos un adjunto. ¡Ni siquiera funcionará %0 si no se produce esa situación!
Sugerencia
Aquí se pueden introducir líneas de órdenes complejas, ya que KMail hace uso de un intérprete de línea de órdenes para ejecutarlas. Por lo tanto, incluso esta orden funcionará (dentro de sus límites):
uudecode-o$(mktemp kmail-uudecoded.XXXXXX)&& echo$'\a'- A través de redirección
Esto subministrará el mensaje a un programa. Si ese programa produce una salida, todo el mensaje (incluyendo las cabeceras) será remplazado por esa salida. Si el programa no devuelve una salida o sale con un código de retorno distinto de 0 (lo que indica que ocurrió un error), el mensaje no se modificará. Especifique la ruta completa del programa. Se realizan las mismas sustituciones de (%n, %{cosa} que en ejecutar orden se realizan en la línea de órdenes.
Aviso
Tenga cuidado con esta acción, ya que podrá destruir fácilmente sus mensajes si el programa de filtrado devuelve datos erróneos o líneas extra.
- Eliminar cabecera
Eliminará todos los campos de la cabecera del mensaje que contengan el nombre dado. Esto es útil para eliminar cabeceras “Responder a” incorrectas.
- Añadir cabecera
Si no existe ya ese campo, se añadirá un nuevo campo de cabecera con el nombre dado y el valor para el mensaje. Si ya hay un campo de la cabecera con ese nombre, se sobrescribirá con el nombre dado; si ya hay varias cabeceras con el nombre dado (por ejemplo las cabeceras “Received:” - Recibido:), se sobrescribirá arbitrariamente una de ellas y las demás permanecerán sin cambios -- se trata de una limitación conocida. Usted puede querer combinar este filtro con el de eliminar encabezado de arriba para asegurarse que no hay otras cabeceras con ese nombre en el mensaje.
- Rescribir cabecera
Explorará el campo de cabecera dado, modificará su contenido y lo volverá a escribir. La cadena de búsqueda se interpretará siempre como una expresión regular sensible a las mayúsculas. La cadena de remplazo se inserta literalmente, salvo que haya conjuntos de caracteres del tipo
\n,$ny${nn}, dondenes un número positivo (de un solo dígito, salvo en la tercera opción) o0. Estas construcciones se interpretan como referencias a subcadenas capturadas entre paréntesis en la cadena de búsqueda.También aquí se aplican restricciones análogas a las de la acción añadir cabecera.
- Reproducir sonido
Reproducirá el sonido especificado.
KMail no admite aún el resaltado o el marcado de correos que tengan un encabezado Prioridad extra. Si quiere que todos los mensajes que contengan “urgente” se marquen con el indicador importante, puede utilizar un filtro:
Procedimiento 3.1. Etiquetar los mensajes urgentes como importantes
Abra el diálogo → y pulse en el icono Nuevo que hay bajo la lista de Filtros disponibles.
En el área Criterios de filtrado, seleccione En cualquier parte del encabezado y contiene de las casillas desplegables y teclee
Prioridaden el campo de texto de la primera casilla desplegable y tecleeurgenteen el campo de texto de la segunda casilla desplegable.Por tanto, su filtro emparejará todos los mensajes que contengan un campo de encabezado “Prioridad urgente”.
Baje hasta el área Acciones de filtrado. Seleccione Marcar como de la primera lista desplegable. Se muestra a la derecha una lista desplegable que contiene los indicadores para marcar. Seleccione Importante de la lista desplegable.
Dado que usted puede querer que este filtro no evite que se apliquen otras reglas de filtrado de mensajes, quitando la marca, con cuidado, de la opción Si este filtro coincide, detiene el procesamiento aquí.
Cuando usted haya terminado, pulse en .
Tenga en cuenta mover la entrada de filtro “Prioridad: urgente” encima de la lista de Filtros disponibles, cada vez, cuando añada otro filtro, para que se aplique siempre, en primer lugar, el filtro que no detiene el procesamiento.
Si estoy suscrito a la lista (general) de KDE, ¿puedo crear una carpeta para esa lista (la llamaré KDE-general) y utilizar un filtro para que los nuevos mensajes que lleguen a la bandeja de entrada se transfieran automáticamente a la carpeta KDE-general en el caso de que provengan de la lista de KDE. El filtro se creará de esta manera:
Procedimiento 3.2. Filtrado de una lista de correo
Compruebe si → → es capaz de identificar la lista (el nombre de la misma debería aparecer como opción de menú). En ese caso, habrá funcionado y se presentará un filtro con la condición “List-Idcontiene <kde.kde.org>” predeterminada. Deberá seleccionar la carpeta de destino deseada del desplegable que aparece en Acciones de filtrado y ya está.
Si eso no funciona, piense en alguna manera de identificar de forma única los mensajes que usted desee filtrar. La (prácticamente) única manera de reconocer los mensajes de la lista de correo de KDE es que siempre contienen “kde@kde.org” en los campos Para: o CC:. Es solo casi la única, ya que falla en los mensajes cruzados.
Seleccione → .
Pulse el botón para crear un filtro vacío. Aparecerá como <sin nombre>.
En el área Criterio de filtrado, seleccione Todos los destinatarios de la primera lista desplegable, contiene de la segunda lista desplegable y teclee
kde@kde.orgen el campo de texto.Baje hasta la sección Acciones de filtrado. Seleccione Mover a la carpeta de la primera lista desplegable. Pulse sobre el icono de la carpeta y aparecerá una ventana que contiene una lista de carpetas. Seleccione la carpeta a la que quiera que se mueven los mensajes filtrados. En este ejemplo, debería seleccionar KDE-general.
Puede buscar lo que necesite para usar toda la potencia de los criterios de filtrado de sus mensajes. Por ejemplo, puede querer filtrar solo los mensajes de la lista de KDE que escriba su amiga María Ejemplo <me@algunsitio.com>. Aquí es donde entra en juego la sección de criterios:
Procedimiento 3.3. Extensión del filtro
Abra la ventana Configurar filtros... y seleccione el filtro que acaba de crear.
Ya que usted quiere filtrar todos los mensajes que tengan
kde@kde.orgen el campo Para: o CC: y que sean de María, marque el botón de opción .Ahora, vaya a la segunda regla de búsqueda y seleccione lo siguiente de los menús desplegables: De, contiene. Ahora, teclee
me@algunsitio.comen el campo de texto.
Ahora usted tiene un filtro que transfiere todos los mensajes de la lista de KDE que son de me@algunsitio.com.
Es importante que sepa que, por ejemplo, el orden de los filtros tiene un impacto sobre la velocidad del proceso de filtrado. Aquí tiene algunas ideas que le pueden ayudar a mejorar el filtrado:
- Detener el procesamiento de filtros tan pronto como sea posible:
Si sabe qué un filtro al final procesa un cierto tipo de mensajes, por favor asegúrese de marcar la opción Si este filtro se cumple, detener aquí el procesamiento para el filtro. Esto evitará la evaluación del resto de reglas de filtrado de los siguientes filtros. (Vea las opciones avanzadas in el Diálogo de filtrado).
Un ejemplo sería filtrar los mensajes de las listas de correo por medio de la cabecera List-Id a carpetas distintas. Averiguar que un mensaje viene de la lista A implica que usted puede evitar comprobar el filtro siguiente para mensajes de la lista B.
- Considere el coste de la evaluación de las reglas de filtrado:
El tiempo necesario para evaluar una regla de filtrado depende de la forma en la que esté construida la regla. En particular, una búsqueda de una subcadena que usa la operación contiene es más rápida que una coincidencia de patrones que use la operación cumple la expr. regular.
Otra dependencia es la cantidad de datos que se usan para la evaluación de una regla de filtrado. Si la regla está basada en una cabecera de mensaje, su evaluación normalmente debería ser mucho más rápida que la evaluación de una regla basada en el mensaje completo.
Debería intentar mantener las reglas de filtrado tan sencillas como sea posible.
- Comprobar el orden de sus filtros:
Las distintas acciones de filtrado tienen diferente complejidad. Las acciones de filtrado más caras son Redirigir a través de y Ejecutar orden, porque ambos necesitan programas externos para ejecutarse. Poner filtros que tengan estas acciones detrás de los demás filtros puede reducir el número de veces que son necesarias estas acciones complejas, si la lógica del filtro lo permite.
Un ejemplo sería filtrar mensajes de una lista de correo y detectar mensajes de correo basura. Para la detección de correo basura normalmente usará una herramienta externa por medio de una acción Redirigir a través de . El filtrado de los mensajes para la lista de correo se hace por medio de la cabecera List-Id. Si no quiere comprobar los mensajes de la lista de correo para ver si hay en ellos correo basura, es mejor usar los filtros de los mensajes de las listas de correo antes del filtro para la detección de correo basura. De esta forma, evitará costosas y lentas comprobaciones de correo basura para todos los mensajes que se hayan identificado como mensajes de listas de correo.
Si quiere verificar que sus filtros trabajan como se pretende, puede abrir un visor para el registro de filtrado por medio de → .
En el visor, puede configurar el registro del proceso de filtrado. Puede controlar el nivel de detalle del registro, borrarlo o guardarlo en un archivo. El registro puede proporcionar una información valiosa si necesita depurar su proceso de filtrado.