Inicio

La importància del ham per evitar l’spam

spamassassin.jpg

Sovint quan es monta un spamassassin per evitar que entri spam la gent es queixa perquè aquest deixa passar molts mails com a correus bons, però realment són spam. Doncs bé, llavors a la gent se li explica que s’ha d’ensenyar a l’spamassassin a que aprengui d’aquests errors ensenyant-li el que ha deixat passar i no havia d’haver deixat. O sigui, que aprengui els seus errors d’spam. Doncs bé aquestes últimes dues setmanes se’m colaben uns 10 o 15 missatges al dia com a correu bo i eren spam, encanvi tenia la base de dades de correus d’spam ben plena i no acabava d’entendre perquè passava això.

Doncs bé, als usuaris sempre se’ls explica que l’spamassassin no només ha d’aprendre què és spam (correu brossa) sinó també el ham (correu legítim) així millora l’ensenyament de l’anti-spam. Així doncs, resulta que la meva base de dades de ham era massa vella i no l’havia educada de feia massa temps, així doncs fa uns 3 dies li vaig fer aprendre uns 1000 correus legítims i com una seda. Els últims 3 dies potser només s’ha colat 1 o 2 correus, i me’n filtra quasi 200 diaris com a spam. Genial,eh!?

Moraleja no oblideu la importància del ham, a l’hora d’educar l’anti-spam. No només s’apren de l’spam. Jo crec que aquest exemple que he viscut li servirà com a bon exemple a seguir a molta gent, o això espero.

imapfilter: eina per filtrar emails via IMAP

IMAPFilter, una altre bona troballa d’en Marc. Realment interessant, permet classificar, filtrar, modificar flags, llençar busquedes, moure, borrar, etc. dels correus d’una compte IMAP remota. A més també ens permet jugar amb més d’una compte IMAP simultànea, per copiar/moure correus entre ambdues comptes. El llenguatge per programar els scripts amb IMAPfilter es basa en LUA, la qual cosa ens permet fer realment coses molt complexes i potents. Dubto que hagiu pensat alguna funció que no ús la deixi fer aquest programa.

A mesura que vagi creant scripts per les meves comptes de correu, ja penjaré els snippets de codi. Així serviran com a exemple, malgrat això la secció d’exemples de la web esta prou bé.

SOAP amb Symfony

symfony.gif

Fa uns mesos vaig implementar una aplicació amb força connexions SOAP tan a nivell de client, com de servidor contra aplicacions .NET i aplicacions SOAP fetes en Symfony mateix. Malgrat funcionen prou bé, he de reconeixer que la implementació SOAP de PHP fins a la versió 5.2.0 que és la última que he provat dona alguns problemes. Ja no quan es comunica amb .NET sinó quan parlo amb ella mateixa. Puc assegurar que no és culpa del codi, perquè l’estructura client servidor de la que parlo feia més de 200 transaccions diaries de les quals unes 10 o 20 fallaben, per errors de l’estil Error Fetching http headers. De fet, investigant vaig trobar algún que altre BUG intern de PHP que comentava el problema, però segons deien a PHP ja estava solucionat. Doncs a mi em continuaven donant. Finalment el que vaig fer per solucionar-ho va ser eliminar SOAP a tot arreu d’on vaig poder, ara mateix no tinc ni un error d’aquest estil i es continuen fent unes 200 transacions diaries o més.

Malgrat aquesta no massa bona experiència, continuo pensant que la idea és boníssima i que cal seguir treballant amb ella. Doncs bé, quan vaig implementar el servidor SOAP via Symfony no vaig trobar cap tipus de documentació que parles de com fer-ho bé. Així doncs vaig improvisar i vaig repartir el codi entre les actions i els templates amb tan bon criteri com vaig saber, tan per publicar el fitxer WSDL com per publicar el servei SOAP. Ara esta apunt de sortir la versió 1.0 de Symfony i curiosament també s’ha publicat un snippet on es parla de com publicar un servei SOAP desde Symfony. Així doncs, he de reconeixer que la implementació que es fa de la idea en aquest snippet és molt millor que la meva. Per tant, el recomano: Code Snippets: Soap server (local).

Snap: el complement d’escriptori ideal per l’asterisk

De fet, personalment no em fa gaire utilitat aquesta eina. Però no puc dir el mateix dels meus clients. Per fi, he trobat una eina econòmica que els permet interactuar amb l’asterisk de forma senzilla i fer les típices pijades que sempre em demanen quan els monto un asterisk, gràcies Marc pel descobriment. Snap és un programet per Windows que permet veure qui ens esta trucant a la pantalla del PC, buscar aquest número a l’agenda. Marca el número de telèfon que ens apareix al firefox mentre naveguem. Marca on volem trucar des d’una petita aplicació que ens surt a la pantalla. Invocar el CRM requerint la informació del client que ens esta trucant, o fins hi tot connectar-lo via AGI a funcions més avançades d’Asterisk. Però la cosa no s’acaba aquí, s’integra amb Outlook, permet tenir un registre de les trucades que fem i que rebem. Entre d’altres coses.

snap.png

El programa té dues versions la free i la pro, aquesta última costa uns ~30$ per usuari. El que ambdues tenen en comú és la integració amb Office, Outlook, firefox i thunderbird. La versió pro a més ens mostra una finstra flotant quan entre una trucada, permet connectivitat contra el CRM per trucades entrants i sortints, disposa d’un driver TAPI (TSP driver), a més d’una versió avançada de l’identificador de trucades i del buscador de números de teléfon.

Postfix: relay contra un altre mailserver

En aquest article Set Up Postfix For Relaying Emails Through Another Mailserver de HowtoForge s’explica com configurar un Postfix per fer relaying contra un servidor extern. O sigui, perquè el servidor de correu (MTA) envii sempre els correus contra (MTA) un altre servidor de correu via SMTP. Potser el més iteressant és que explica com fer-ho a través d’un SMTP autenticat.

Intentant resumir els passos explicats a l’article comentat.

En l’exemple farem relay contra el sevidor smtp.example.com. A part d’usar l’ordre postconf per fer això, també podem editar el fitxer /etc/postfix/main.cf i afegir-hi les comandes indicades entre cometes.

postconf -e 'relayhost = smtp.example.com'
postconf -e 'smtp_sasl_auth_enable = yes'
postconf -e 'smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd'
postconf -e 'smtp_sasl_security_options ='

Guardarem l’usuari i el password a usar contra el servidor smtp.example.com al fitxer /etc/postfix/sasl_passwd. Aquest fitxer ha de ser propietat de l’usuari root i ningú més hi ha de tenir accés (perms: 600). Finalment creem el seu arxiu .db.

echo "smtp.example.com   someuser:howtoforge" > /etc/postfix/sasl_passwd
chown root:root /etc/postfix/sasl_passwd
chmod 600 /etc/postfix/sasl_passwd
postmap /etc/postfix/sasl_passwd

Finalment només cal reiniciar el postfix:

/etc/init.d/postfix restart

Amavisd-new: Re-enviar correus marcats com a spam

Sempre tinc el mateix problema amb l’amavisd-new intento que els correus marcats com a spam no s’enmagatzemin en un directori sinó que s’enviin al client i mai recordo la comanda, així doncs aquí va aquesta nota:

$spam_quarantine_to = 'correu@exemple.com';

De fet, la gràcia seria automatitzar millor la variable perquè el destinatari fos dinàmic. O sigui, el destinari real que anava a rebre el correu i això encara no he descobert que he de posar.

Scroll to Top