|
Aplicaciones: Proyecto de Software Libre AjpdSoft Comprobar E-Mail y AntiSpam
Os presentamos el Proyecto de Software Libre AjpdSoft Comprobar E-Mail y AntiSpam, en este caso la nueva versión de la aplicación AjpdSoft Comprobar E-Mail y AntiSpam, la 4.2.6.525. Incluye numerosas mejoras con respecto a su antecesora, la 1.5.1.38. En este caso la aplicación admite múltiples cuentas de email, incluye mejoras en el sistema de AntiSpam, permite guardar los emails, incluye filtros y listados estadísticos, utiliza MySQL como motor de base de datos, etc.
Historia del proyecto AjpdSoft Comprobar E-Mail y AntiSpamEl proyecto de software libre (100% Open Source) AjpdSoft Comprobar E-Mail y AntiSpam se inició en el año 2004, cuando la proliferación del Spam empezó a hacerse muy notable. En este año decidimos hacer una aplicación que tuviera un uso principal: advertir con un sonido o con con un aviso en la pantalla al usuario en caso de recibir un nuevo emai, llamada AjpdSoft Comprobar E-Mail. Inicialmente esta fue la idea del proyecto, pero viendo el auge del correo basura, decidimos enfocar el proyecto a realizar un AntiSpam. A lo largo del año 2005, el proyecto quedó detenido por la dificultad que supone realizar un AntiSpam. Tras las innumerables peticiones de los usuarios de desarrollar un software AntiSpam, decidimos impulsar el proyecto anterior, por lo que el proyecto iniciado en el año 2004 como un simple software lector de email, se convirtió en un AntiSpam. En el año 2006 vio la luz el proyecto AjpdSoft Comprobar E-Mail y AntiSpam tal y como lo conocemos hoy día. Este software no es, ni mucho menos, un buen AntiSpam, pues hay que tener en cuenta que no es esta la función de este sitio web. Se trata de un ejemplo de software AntiSpam con código fuente disponible en esta web gratuitamente (100% Open Source) con un filtro parecido al bayesiano. En el año 2009 hemos lanzado la última versión de este software, la 4.2.6.525, con esta versión ponemos fin a este proyecto, al menos de momento. Hay que tener en cuenta que los spammers han evolucionado y cada día emplean nuevas técnicas, más sofisticadas, para evitar los AntiSpam. Evidentemente, desde AjpdSoft hemos intentado contribuir a la lucha contra el correo basura, pero no disponemos de tanto tiempo y recursos económicos como para luchar contra los actuales spammers. Prueba de ello son los siguientes recursos que podréis encontrar gratuitamente en este sitio web:
Preparación del equipo para AjpdSoft Comprobar E-Mail y AntiSpamInstalación del motor de base de datos MySQL ServerLa aplicación AjpdSoft Comprobar E-Mail y AntiSpam en su versión 4.2.6.525 utliza como motor de base de datos MySQL Server en Windows 4.1, por lo que para que la aplicación funcione correctamente deberemos disponer de un servidor de MySQL Server en nuestra red o en Internet (servidor MySQL Server externo). Los siguientes artículos de este sitio web muestran cómo instalar paso a paso MySQL Server en un equipo con Microsoft Windows XP o con GNU Linux (podremos utilizar el sistema operativo que deseemos para el servidor de MySQL Server):
Creación de la base de datos o esquema para la aplicaciónTras disponer de un servidor con MySQL Server (tanto GNU Linux como Windows) tendremos que crear la base de datos (esquema o catálogo) donde ejecutaremos el script de creación de las tablas necesarias para el funcionamiento de la aplicación. Para crear la base de datos MySQL para nuestra aplicación podremos utilizar MySQL Administrator o desde la línea de comandos. En la parte inicial del siguiente artículo se explica cómo crear un "Schema" (esquema o base de datos) mediante MySQL Administrator (software completamente gratuito disponible en la web de MySQL): Exportar una tabla Microsoft Access a MySQL Si lo queremos hacer sin instalar software adicional podremos utilizar la línea de comandos de MySQL, en la parte final del siguiente artículo explicamos cómo hacerlo por comando: Cómo instalar MySQL Server en Windows 4.1 En concreto, con el comando: create database antispam Ejecución del script de creación de las tablas de la aplicaciónPara crear las tablas de la aplicación podremos utilizar MySQL Administrator, con la opción "Restore", seleccionando el fichero de script contenido en la carpeta Script MySQL creación tablas de la descarga de la aplicación o bien, de forma más sencilla, utilizar la propia aplicación. Para ello ejecutaremos el fichero contenido en la descarga: "cemail.exe", al ejecutarlo, la aplicación nos dará un primer error, indicando que no tiene acceso a "localhost", pulsaremos "Aceptar":
Una vez abierta la aplicación pulsaremos en "Herramientas" - "Configuración": En la pestaña "Base de datos" introduciremos todos los datos de conexión al servidor de MySQL:
Tras introducir estos datos pulsaremos en "Probar conexión". Si todo es correcto y el servidor de MySQL Server está operativo la aplicación mostrará el mensaje "La conexión se ha realizado correctamente": En la misma pestala anterior (Base de datos), con los datos de conexión correctos y el servidor de MySQL Server activo, en "Crear tablas", en "Fichero script" introduciremos la ruta y nombre del fichero de script contenido en la carpeta Script MySQL creación tablas de la descarga de la aplicación, a continuación pulsaremos "Ejecutar": Nos mostrará un aviso como el siguiente, indicando que se eliminarán datos de las tablas de antispam en caso de que existan:
Pulsaremos "Sí" para continuar, en realidad no eliminará las tablas, si existen dará error (por seguridad). Si todo es correcto mostrará el mensaje:
Desde cualquier aplicación que permita acceder a MySQL Server y ejecutar consultas SQL podremos ver las tablas creadas por el script anterior, ejecutando el comando SQL:
También podremos verlas desde MySQL Administrator: Las tablas necesarias para el funcionamiento de la aplicación son:
La aplicación AjpdSoft Comprobar E-Mail y AntiSpamConfiguración de AjpdSoft Comprobar E-Mail y AntiSpamAntes de empezar con la aplicación, deberemos configurar algunas opciones para su correcto funcionamiento. A continuación explicamos algunas de esas opciones. En primer lugar deberemos dar de alta las cuentas de email a las aplicaremos el filtrado de AjpdSoft Comprobar E-Mail y AntiSpam. Para ello accederemos al menú "Herramientas" - "Cuentas de email", en la ventana de mantenimiento de cuentas de email añadiremos las que queramos, con los datos obligatorios para el funcionamiento (email, servidor pop3, usuario, contraseña, etc), una vez introducidos estos datos pulsaremos en el botón , si queremos añadir más cuentas de email pulsaremos en el botón :
Una vez creadas las cuentas de email que escanerá la aplicación, deberemos configurar el motor AntiSpam, para ello accederemos al menú "Herramientas" - "Configuración". En la pestaña "Histórico de emails" podremos indicar si queremos que la aplicación guarde los emails calificados como No Spam (válidos), los calificados como Spam y los calificados como de Confianza. En realialidad, la aplicación guardará el contenido del email (no el fichero adjunto, si lo lleva): En la pestaña "Spam" indicaremos todas las opciones del filtro de Spam. La más "delicada" es "Activar antispam", que lo que hará es eliminar los emails que califique como Spam (correo basura), basándose única y exclusivamente en las reglas que el propio usuario vaya dando de alta. Esta opción sólo deberemos marcarla cuando hayamos verificado el correcto funcionamiento de las reglas que demos de alta. Marcando la opción "Comprobar Spam (comprueba si un e-mail es Spam según las reglas introducidas)" la aplicación calificará los emails de spam pero no los eliminará (a no ser que marquemos "Activar antispam"), por lo que nos servirá para ver el correcto funcionamiento de nuestro filtro. El resto de las opciones son:
Dentro de la pestaña "Spam", en la pestaña "Otras opciones", podremos configurar varios parámetros en la calificación del spam:
Desde la pestaña "Opciones generales" podremos configurar lo siguiente:
La aplicación también permite programarse para que se ejecute de forma automática cada cierto tiempo:
Antes de poner en funcionamiento la aplicación también podremos añadir las cuentas de emails de nuestros "amigos" y conocidos como cuentas de Confianza. Estas cuentas no se tendrán en cuenta en el filtro de Spam, se calificarán directamente como de Confianza todos los emails que lleguen de estas cuentas. Para añadir cuentas de confianza pulsaremos en el menú "Reglas" - "Cuentas de confianza": Nota: desde los emails recibidos en la aplicación se podrán añadir las cuentas de confianza de forma automática, seleccionando el email y accediendo al menú "E-Mail" - "Confiar" o pulsando la tecla F4:
AjpdSoft Comprobar E-Mail y AntiSpam en funcionamientoLa aplicación AjpdSoft Comprobar E-Mail y AntiSpam versión 4.2.6.525 tiene este aspecto en funcionamiento (leyendo y calificando emails de spam) de una o varias cuentas de email: Mostrará una línea por cada email con los datos necesarios para identificarlo: fecha envío, email emisor, asunto, usuario (email receptor), spam, tipo de regla aplicada (confianza, E-Mail origen, Asunto, Adjunto, Detalle, Sin datos, Confianza, IP, Desde (nombre), etc.).Podremos ver los detalles de un email seleccionándolo y pulsando en "E-Mail" - "Visualizar": Para calificar un email como spam manualmente, lo seleccionaremos, pulsaremos con el botón derecho del ratón y seleccionaremos "Es spam": También podremos mostrar la ventana de calificación de email como spam para seleccionar o modificar las distintas opciones de calificación, para ello pulsaremos el botón : Desde la ventana anterior podremos decidir por qué opción calificaremos como spam el email: Desde (email), Desde (nombre), Asunto, IP, Adjunto, Detalle. Para ello marcaremos en cada opción "Spam" (para calificarlo como spam), "Ignorar" (para no tener este dato en cuenta), "No Spam" (si existe en las reglas de spam eliminará dicha regla). Con la opción "C" sin marcar de cada elemento indicaremos que la coincidencia ha de ser exacta, si la marcamos indicaremos que también se calificarán como spam aquellos que contengan la frase indicada.
Cuando hayamos calificado los emails no válidos como spam podremos volver a realizar el test pulsando en "E-Mail" - "Leer Todos", la aplicación volverá a leer todos los emails de todas las cuentas que tengamos configuradas y calificará como spam los que considere según las nuevas reglas introducidas: La aplicación nos mostrará el número de email escaneados, los calificados como spam y los eliminados (si tenemos marcada la opción "Activar antispam"). Como se puede observar, esta aplicación no es "intrusiva", no se interpondrá entre nuestro cliente habitual de email, pues no captura el protocolo POP3 ni nada por el estilo, sólo funcionará si se ejecuta y se lee el email, si antes de ejecutarla tenemos abierto el cliente habitual de email (Microsoft Outlook Express, Mozilla Thunderbird, etc.) y hemos leído los emails la aplicación no actuará. Si tenemos marcada la opción "Activar antispam" y pulsamos en "E-Mail" - "Leer Todos", la aplicación borrará definitivamente los emails que califique como spam: Mientras realiza el escaneo mostrará la cuenta de email que está escaneando, el número de email total de esacuenta, el número de email que ha escaneado, los que ha calificado como spam y los que ha eliminado definitivamente. Desde el menú "Visualizar" - "Criterios de spam" podremos ver los criterios (reglas) de spam actuales, desde esta opción podremos modificar, añadir nuevos y eliminar: En la ventana de visualización de criterios de spam podremos ver el detalle de cada uno (fecha de alta, tipo (DESDE, ASUNTO, DESDE NOMBRE, DETALLE, IP), el operador (NO EXACTA, EXACTA), el dato y si la regla está activa (puede ser utilizada por la aplicación). Desde la ventana de detalle de criterio de spam podremos activar o desactivar todas las reglas pulsando el botón "Activar todas" o "Desactivar todas": Desde el menú "Visualización" también podremos ver estadísticas sobre las reglas aplicadas y el número de veces, pulsando en "Visualizar" - "Aplicación de reglas" - "Actuales": En cualquier momento podremos pasar al histórico los log de aplicación de reglas, desde "Reglas" - Aplicación Reglas" - "Pasar a histórico": Nos mostrará un mensaje confirmando la operación, con el texto:
Pulsando "Sí" nos mostrará el número de aplicación de reglas pasadas al histórico:
También podremos pasar al histórico los sucesos, los emails almacenados, etc. Esta opción de histórico es útil cuando notemos que la aplicación se ralentiza. Esto sólo ocurrirá en entornos con muchas cuentas de email y muchos emails por cuenta. Desde el menú "Visualizar" - "Sucesos" - "Actuales" podremos ver los sucesos que se han ido produciendo en la aplicación (errores de conexión, etc.), el nivel de sucesos dependerá de las opciones seleccionadas en la configuración de la aplicación:
ANEXOEjemplo del contenido del fichero cemail.ini de configuración de la aplicación
Script de creación de las tablas MySQL de la aplicaciónCREATE TABLE `aplicacionregla` ( `ID` int(10) unsigned NOT NULL auto_increment, `IDREGLA` int(10) unsigned default NULL, `FECHAULTIMA` datetime default NULL, `DATO` varchar(250) default NULL, `IDEMAIL` varchar(250) default NULL, `OPERADOR` varchar(20) default NULL, `TIPO` varchar(100) default NULL, PRIMARY KEY (`ID`) ); CREATE TABLE `aplicacionreglaalm` ( `ID` int(10) unsigned default NULL, `IDREGLA` int(10) unsigned default NULL, `FECHAULTIMA` datetime default NULL, `DATO` varchar(250) default NULL, `IDEMAIL` varchar(250) default NULL, `OPERADOR` varchar(20) default NULL, `TIPO` varchar(100) default NULL ); CREATE TABLE `asuntoconfianza` ( `ID` int(10) unsigned NOT NULL auto_increment, `ASUNTO` varchar(250) default NULL, `EMAIL` varchar(250) default NULL, `FECHA` datetime default NULL, `ACTIVO` char(1) default 'S', PRIMARY KEY (`ID`) ); CREATE TABLE `confianza` ( `ID` int(10) unsigned NOT NULL auto_increment, `EMAIL` varchar(250) default NULL, `NOMBRE` varchar(100) default NULL, `FECHAALTA` datetime default NULL, `ACTIVO` char(1) default 'S', `IP` varchar(50) default NULL, `FECHACAMBIOIP` datetime default NULL, PRIMARY KEY (`ID`), UNIQUE KEY `IN_EMAIL_CONFIANZA` USING HASH (`EMAIL`) ); CREATE TABLE `criteriosspam` ( `ID` int(10) unsigned NOT NULL auto_increment, `TIPO` varchar(100) default NULL, `DATO` varchar(250) default NULL, `OPERADOR` varchar(20) default NULL, `FECHAALTA` datetime default NULL, `ACTIVO` char(1) default NULL, `FECHAULTIMOUSO` datetime default NULL, PRIMARY KEY (`ID`), KEY `Index_2` (`DATO`), KEY `Index_3` (`TIPO`) ); CREATE TABLE `criteriosspamalm` ( `ID` int(10) unsigned NOT NULL default '0', `TIPO` varchar(100) default NULL, `DATO` varchar(250) default NULL, `OPERADOR` varchar(20) default NULL, `FECHAALTA` datetime default NULL, `ACTIVO` char(1) default NULL, `FECHAULTIMOUSO` datetime default NULL, KEY `Index_2` (`DATO`), KEY `Index_3` (`TIPO`) ); CREATE TABLE `cuentas` ( `ID` int(10) unsigned NOT NULL auto_increment, `EMAIL` varchar(250) default NULL, `IDENTIFICATIVO` varchar(45) default NULL, `POP3` varchar(100) default NULL, `USUARIO` varchar(100) default NULL, `CONTRASENA` varchar(100) default NULL, `PREDETERMINADA` char(1) default 'N', `ACTIVA` char(1) default 'S', `FECHAALTA` datetime default NULL, PRIMARY KEY (`ID`), UNIQUE KEY `IN_EMAIL_CUENTAS` USING HASH (`EMAIL`) ); CREATE TABLE `historico` ( `ID` varchar(250) default NULL, `FECHA` datetime default NULL, `ASUNTO` varchar(250) default NULL, `TAMANO` double default NULL, `ADJUNTO` varchar(250) default NULL, `IP` varchar(50) default NULL, `PARA` varchar(250) default NULL, `POP3` varchar(100) default NULL, `USUARIO` varchar(100) default NULL, `CONTRASENA` varchar(100) default NULL, `SPAM` char(1) default NULL, `ELIMINADO` char(1) default NULL, `DETALLE` text, `TIPOREGLA` varchar(100) default NULL, `IDAUTO` int(10) unsigned NOT NULL auto_increment, `FECHAELIMINACION` datetime default NULL, `FECHALECTURA` datetime default NULL, `DESDE` varchar(100) default NULL, `FECHAARCHIVO` datetime default NULL, `CONTENIDO1` text, `CONTENIDO2` text, `CONTENIDO3` text, `SERVIDOR` varchar(100) NOT NULL default '', `NUMERO` int(10) unsigned default NULL, `DESDENOMBRE` varchar(250) default NULL, `EMAILPARA` varchar(250) default NULL, `CONTENIDO4` text, `CONTENIDO5` text, `CONTENIDO6` text, PRIMARY KEY (`IDAUTO`) ); CREATE TABLE `historicoalm` ( `ID` varchar(250) default NULL, `FECHA` datetime default NULL, `ASUNTO` varchar(250) default NULL, `TAMANO` double default NULL, `ADJUNTO` varchar(250) default NULL, `IP` varchar(50) default NULL, `PARA` varchar(250) default NULL, `POP3` varchar(100) default NULL, `USUARIO` varchar(100) default NULL, `CONTRASENA` varchar(100) default NULL, `SPAM` char(1) default NULL, `ELIMINADO` char(1) default NULL, `DETALLE` text, `TIPOREGLA` varchar(100) default NULL, `IDAUTO` int(10) unsigned default NULL, `FECHAELIMINACION` datetime default NULL, `FECHALECTURA` datetime default NULL, `DESDE` varchar(100) default NULL, `FECHAARCHIVO` datetime default NULL, `CONTENIDO1` text, `CONTENIDO2` text, `CONTENIDO3` text, `SERVIDOR` varchar(100) default NULL, `NUMERO` int(10) unsigned default NULL, `DESDENOMBRE` varchar(250) default NULL, `EMAILPARA` varchar(250) default NULL, `CONTENIDO4` text, `CONTENIDO5` text, `CONTENIDO6` text ); CREATE TABLE `historicolog` ( `ID` int(10) unsigned default NULL, `FECHA` datetime default NULL, `TEXTO` varchar(255) default NULL, `TIPO` varchar(20) default NULL ); CREATE TABLE `log` ( `ID` int(10) unsigned NOT NULL auto_increment, `FECHA` datetime default NULL, `TEXTO` varchar(255) default NULL, `TIPO` varchar(20) default NULL, PRIMARY KEY (`ID`) ); CREATE TABLE `recibidos` ( `ID` varchar(250) default NULL, `FECHA` datetime default NULL, `ASUNTO` varchar(250) default NULL, `TAMANO` double default NULL, `ADJUNTO` varchar(250) default NULL, `IP` varchar(50) default NULL, `PARA` varchar(250) default NULL, `POP3` varchar(100) default NULL, `USUARIO` varchar(100) default NULL, `CONTRASENA` varchar(100) default NULL, `SPAM` char(1) default 'N', `ELIMINADO` char(1) default 'N', `DETALLE` text, `TIPOREGLA` varchar(100) default NULL, `IDAUTO` int(10) unsigned NOT NULL auto_increment, `FECHAELIMINACION` datetime default NULL, `FECHALECTURA` datetime default NULL, `DESDE` varchar(100) default NULL, `CONTENIDO1` text, `CONTENIDO2` text, `CONTENIDO3` text, `SERVIDOR` varchar(100) default NULL, `NUMERO` int(10) unsigned default NULL, `DESDENOMBRE` varchar(250) default NULL, `EMAILPARA` varchar(250) default NULL, `CONTENIDO4` text, `CONTENIDO5` text, `CONTENIDO6` text, PRIMARY KEY (`IDAUTO`) ); CREATE TABLE `servidorespop` ( `ID` int(10) unsigned NOT NULL auto_increment, `NOMBRE` varchar(50) default NULL, `IP` varchar(45) default NULL, `CONFIANZA` char(1) default 'N', `FECHAALTA` datetime default NULL, PRIMARY KEY (`ID`), UNIQUE KEY `IN_NOMBRE_SERVIDORESPOP` USING HASH (`NOMBRE`) ); Artículos relacionados
CréditosArtículo realizado íntegramente por Alonsojpd miembro fundador del proyecto AjpdSoft. Anuncios
Enviado el Viernes, 20 marzo a las 19:06:32 por ajpdsoft
|
|