oriolrius.cat

Des del 2000 compartiendo sobre…

Tag: mail

Evolution ‘search folders’

Reading time: 2 – 4 minutes

Aquesta funcionalitat d’Evolution fa molt temps que la vaig veure, però no se m’havia mai acudit com treure-li rendiment amb la meva forma d’usar el correu. Com sabeu de fa molt de temps tinc les carpetes organitzades intentant seguir la idea de GTD. Doncs bé, malgrat això tenia certs problemes per seguir alguns llistes de correu i d’altres informacions que m’arriben al correu però que són de caire més secundari o personal. La solució l’he trobat gràcies a aquestes carpetes tan especials que em permeten agrupar correus en funcionar de paràmetres ben diferents.

Per si això de les search folders ni ús sona, jo ho definiria com carpetes amb continguts virtuals, és a dir, imagineu que teniu configurades diverses comptes de correu, llavors tindreu divers carpetes d’entrada de correu (inbox) si a més cada una de les comptes té diverses carpetes creades això farà que els diversos inbox no capiguen a la pantalla. Llavors sempre haureu d’estar fent scroll per estar al corrent dels nous correus que ús entren en les diverses comptes i diverses carpetes de cada compte.

Llista de carpetes de tipus search folder:

search-folders-001.png

La solució és tan senzilla com la de configurar, per exemple, un general inbox:

search-folders-002.png

Un altre search folder que tinc configurada és una que m’agrupa tots els missatges que tinc marcats com a importants, això ho acostumo a usar moltíssim per varies funcions. Per exemple, contestar correus en llistes de correu, saber tasques importants que esperant que es facin ja, o coses importants que espero que arribin fetes, etc.

search-folders-003.png

A més d’aquests dos exemples que he comentat tinc ues quantes carpetes més d’aquest tipus, com la de missatges no llegits, tasques a fer, tasques en espera, etc. a mi aquesta idea realment m’ha canviat la forma d’usar Evolution.

No oblideu que els missatges realment, no tenen perquè pertanyer a la mateix compte de correu i que la carpeta virtual no és una carpeta real. Així doncs, no s’hi poden arrossegar elements a dintre. De totes formes, si que es poden arrossegar correus de dintre cap a un altre carpeta, no virtual. Així doncs el focus de treball del meu Evolution ha canviat molt i ara treballo sempre amb la vista posada a la part on hi ha aquestes carpetes especials i a sobre tinc obertes totes les carpetes de la compte de correu principal. Així puc anar arrossegant i organitzant les tasques tal com feia abans.

pop2smtp: POP3 (“recojetodo”) a SMTP amb múltiples destins

Reading time: 2 – 3 minutes

Alguns ISPs ens permeten tenir una compte que reculli tot el correu enviat a un domini, això per exemple es pot usar com a mail-backup del nostre domini. Doncs bé a través de fetchmail és molt senzill re-injectar el correu enmagatzemat a una compte POP3 a un servidor SMTP contra un usuari. El més complicat, és si el correu que hi ha a la compte POP3 pot anar a més d’un destí, com el que deia fa un moment en comptes POP3 tipus ‘recojetodo’ o cul de sac com diuen alguns.

Doncs bé, per això he fet un petit script en python que a partir d’un fitxer BSMTP modifica la companda RCPT TO en funció de la informació de l’etiqueta Envelope to que conté una llista de les comptes d’email destí a qui va dirigit el correu. Així doncs, bàsicament la tasca consisteix en buscar quines comptes d’email apareixen a l’etiqueta comentada i després borrem la comanda RCPT TO i creem tantes comandes d’aquest tipus com faci falta en el seu lloc per enviar copies del correu que volem enviar als seus destins. Aquest nou fitxer BSMTP modificat l’injectem al nostre MTA. Aquest MTA serà l’encarregat de processar aquest correus i entregar-los a les comptes destí.

En el meu cas he decidit fer un petit shell script que s’executa des del crontab cada 10min. Aquest script, Crida a fetchmail per obtenir el fitxer BSMTP amb el correu que hi havia a la compte POP3, després crida l’script de python per modificar el fitxer BSMTP d’entrada tal com he comentat i crea un nou fitxer BSMTP de sortida. Finalment aquest fitxer s’injecta via SMTP cridant un petit script que gràcies al NetCat envia per SMTP el contingut del fitxer BSMTP de sortida.

L’script amb l’estructura de directoris empaquetat en un fitxer: pop2smtp_r1.tar.gz.

Segur que hi ha formes més elegants de resoldre el problema, però la veritat no les he sabut trobar.

Postfix: Verifiquem recipients des del mailgateway

Reading time: 2 – 3 minutes

El maig de l’any passat vaig publicar un petit manual de com configurar un Postfix per fer de ‘mailgateway’ d’un altre servidor MTA. Doncs bé, avui hi he afegit una funcionalitat que inicialmen creia impossible. Es tracta de comprobar si el correu que estem rebent des de fora i que va dirigit a un usuari local existeix en el servidor destí on enviarem el correu. Fins ara tots els correus amb destí @dominilocal.tld els agafabem i ja era el MTA intern qui el refusava. El problema d’això és que genera un email de resposta del MTA intern cap al host de ‘relay’ (mailgateway) i aquest correu després s’intenta entregar al remitent orignal. Amb el conseqüènt problema de creixement de la cua de missatges sobretot si el remitent és un email problemàtic.

diagrama-xarxa.png

Doncs bé buscant per la documentació de Postfix he trobat que a través del fitxer /etc/postfix/main.cf podia usar la comanda smtpd_recipient_restrictions per afegir una nova restricció que fos verificar el recipient (reject_unverified_recipient). Però això no és el problema. Sinó que el problema esta en després d’això anar a verificar aquest recipient a l’altre host. Això es fa amb la comanda address_verify_local_transport on li indiquem quin és el host que realment té la base de dades d’usuaris.

smtpd_recipient_restrictions =
...
        reject_unverified_recipient
...
address_verify_local_transport=ip_interna_host_MTA

Obviament el MTA intern ha d’estar configurat de forma que no accepti correus per comptes que no existeixin. Per tant, no pot estar configurat amb un cul de sac, o com diuen en castellà amb una direcció de correu ‘recojetodo’. Així doncs, quan un MTA d’internet envii un correu al servidor de relay (mailgateway) aquest obrirà una connexió contra l’MTA intern i verificarà que existeix la compte de correu a través de la comanda RCPT TO, això ens permet no haver d’activar la temuda comanda VERIFY BY, per tal de saber si existeix o no una compte al servidor intern i per tant, refusar en cas de que sigui necessari aquest correu que es preten entregar.

gubb ja té suport per RSS, Atom i iCal

Reading time: 1 – 2 minutes

Fa un parell de mesos vaig parlar-vos de gubb és una web 2.0 que permet crear-nos llistes de la compra, de pel·lícules que volem veure, etc. Com tot el material a lo web 2.0 la seva principal virtut és la interactivitat i la possibilitat de compartir la informació amb altres usuaris. Doncs bé, quan vaig parlar-vos d’aquesta web ja vaig dir que era molt útil, avui mateix he anat a fer la compra i he usat la llista de la compra enviada per email a la Blackberry per saber que havia de comprar. Però com sempre li trobava a faltar algo, concretament la capacitat d’exportar les llistes via RSS o Atom. Doncs no només ja esta solucionat això sinó que si els ítems d’una llista estan associats a una data podem exportar fins hi tot els elements de llista en format iCal.

feeds-gubb.png

Realment ara mateix ja es mereix una molt bona nota aquesta web sota el meu punt de vista. A més, té funcions molt útils com els elements arxivats. Que permeten fer llistes de la compra en un moment en base als elements que has usat en el passat. Realment s’ha de felicitar a l’equip d’aquest servei perquè han fet un producte molt útil, simple i complert.

gubb – llistes a lo web 2.0

Reading time: 2 – 2 minutes

gubb.gif

Seguint amb temes d’organització i per tornar al blogging d’una forma light referenciaré un dels últims aplicactius de la Web 2.0 que m’han enganxat. Com totes les idees que estan cridades a triumfar són coses molt senzilles però a la vegada amb un toc de sofisiticació, potser si no fos així ni me les miraria. Bé doncs, sovint a la vida tenim llistes de molts tipus: llista de la compra, llista de llibres a comprar, llista de pel·lícules a veure, etc. però totes aquestes llistes tenen un problemilla: tan si les mantenim en sistems digitals com analògics. O sigui, que sovint volem afegir un item a la llista i no portem la llista a sobre o el que és pijtor entrem al supermercat i ens adonem que no portem la llista de la compra.

Doncs bé, gubb.net ens permet crear totes les llistes que volguem i amb un simple sms o email podem tan afegir items a una llista com recuperar tota una llista sencera. O sigui, que el proper cop que entrem al supermercat sense la llista de compra només cal enviar un sms des de la BB i en breus segons tindrem la resposta amb el contingut de la llista que ens feia falta. Genial,eh!?

Nova organització dels correus (2a part)

Reading time: 2 – 3 minutes

Fa un parell de dies que aplico una idea que he tingut, a veure què ús sembla. És un complement de l’article “nova organització dels correus“. Consisteix en posar amb còpia oculta tots els correus que envio cap a mi mateix. Això s’encarrega el propi client de correu de fer-ho automàticament. Així tot el que envio em torna a la inbox llavors quan entra puc posar l’email a la carpeta: ThisYear, Process o Waiting for segons el que hagi de fer amb aquest email.

Si el col·loco a ThisYear el que faig és organitzar la carpeta en forma de thread mostrant el recipient i el from així tinc els correus agrupats per temes i a l’hora de buscar alguna cosa no he de buscar per separat el que jo vaig escriure del que em van escriure.

mailthreads.png

Obviament si l’arrossego a Process és que he de fer alguna tasca amb aquell email. Per exemple, potser m’han demanat una llista de preus i jo contesto que la tindran la setmana que ve perquè no se m’oblidi d’enviar-la col·loco el correu còpia del que he escrit a dins de Process i així sempre tinc present que he de fer aquesta tasca.

El comportament de la carpeta Waiting for és similar però alrevés, per exemple, si escric un correu demanant algo que m’han de retornar perquè no se m’oblidi que ho he demanat la còpia que m’arriba del correu que he escrit la col·loco a Waiting for.

Un cop em retornen l’email amb la informació que he demanat o me la fan arribar per qualsevol altre sistema llavors arrossego el correu cap a la carpeta ThisYear.

És un complement una mica engorrós però és interessant per tal de no oblidar les coses que ens han de retornar o que hem de fer/enviar i que després se’ns passen per alt.

Actualització 9/2/2007: Un altre avantatge de tenir còpia a la inbox del que s’envia és que així també tinc a la BlackBerry una còpia dels correus que envio no només dels que rebo i quan no estic a l’ordinador o a internet, els puc consultar, re-enviar, etc.

Nova organització dels correus

Reading time: 4 – 6 minutes

carpetescorreu.png

Ja fa dies que volia reorganitzar-me els correus segons les teories del GTD. La idea bàsica és tenir sempre la INBOX completament buida. Per tal de tenir els correus sempre ben classificats. A la part dreta de l’article teniu un screenshot amb les carpetes de la compte oriol_@_oriol.joor.net que és la compte que agrupa les comptes de: joor.net, movilpoint.com, inforcomsoft.net i druvs-systems.com. Les funcions de les carpetes actuals:

  • Inbox: com sempre on entre els correus que no es classifiquen automàticament en cap carpeta. O sigui, correus que he de revisar tan aviat com sigui possible. Tots els correus que entren per aquesta carpeta i impliquen menys de dos minuts de feina o que estic capacitat per respondre al moment, ho he de fer. Després de llegir qualsevol correu de la carpeta ha d’anar a una altre carpeta.
  • Process: correus que venen d’inbox i sobre els que he de fer alguna acció. Per exemple, fer alguna cosa i després respondre (do it), tasques que no puc fer jo mateix i les he de delegar (delegate it), alguna tasca que no estic preparat per respondre o no tinc temps de fer-ho ara mateix (defer it). Els correus que entren en aquesta carpeta els marco altre cop com a no llegits i així d’un cop d’ull sé la quantitat de tasques que tinc en procés. D’aquest punt se’n poden derivar tasques cap al MonkeyGTD.
  • Waiting for: tasques que venen de la carpeta process o de la carpeta inbox. Bàsicament són tasqes que estan aturades per algún motiu. Per exemple, una tasca delegada (delegated) o diferida (deferred). Això va bé, perquè així no molesta a process i no hi perdo el temps tornant a mirar el que tinc a la carpeta process. Així el màxim que puc fer amb aquestes tasques és al final de la jornada o al principi, enviar recordatoris a qui pugui desenganxar la tasca.
  • Organize: emails que he de classificar manualment quan tingui una estona, a alguna carpeta de la compte d’arxius o qualsevol altre carpeta especial de projectes. Per exemple, els emails intercanviats per resoldre algún bug d’un aplicatiu, etc.
  • This Year: bàsicament és la típica col·lecció d’emails que tenim a la inbox. Així si em de buscar algo ho podem fer aquí.
  • imapfilter: correus que pertanyen a alguna llista de correu. Aquests correus es classifiquen cada 1h a través de l’aplicatiu imapfilter.
  • Junk: tots els correus marcats com a spam es posen en aquesta carpeta. Cada 1h es marquen com a llegits perquè no molestin (gràcies al programa imapfilter). Els correus més antics de 7 dies es guarden a Junk/archive, allà es guarden 90 dies. Els informes dels emails marcats com a spam es guarden a Junk/reports allà els informes més antics de 30 dies es borren. A les carpetes learn_ham i learn_spam hi arrossego els falços positius i els falços negatius respectivament, cada nit l’spamassassin els incorpora a la seva base de dades.

La resta de carpetes són les normals, on es guarda els correus enviats segons la compte que he usat per fer els enviaments, la carpeta dels drafts, la carpeta brossa i potser la única extranya seria la carpeta de la Daphne que és on guardo els correus que m’envia la Daphne. No té més història aquesta carpeta, diguem-li la carpeta especial i més prioritària 😉

Tot això ho complemento amb dues comptes de correu més archive i mailinglists. Ambdues IMAP, igual que la oriol_@_oriol.joor.net. Gràcies a l’imapfilter, en aquestes dues comptes s’hi van classificant els correus a arxivar i els correus que pertany a les llistes de correu a les que estic subscrit. Tot això em permet tenir la meva compte principal amb una mida raonable. El problema més greu és que fins ara la compte personal, tenia 4Gb i era molt pesada. Amb aquest esquema tinc repartit molt millor el pes de les comptes.

Una de les grans avantatges és que quan uso l’offlineimap que sincronitza la compte IMAP personal del servidor cap al portàtil es fa de forma molt més ràpida. Ja que no ha de passar per tantes carpetes com abans per mirar si tinc els mateixos correus al portàtil que al sevidor. Pel que fa a les altres dues comptes archive i mailinglists les sincronitzo només cada 1h i així no tinc sincronitzacions tan llargues i pesades per la xarxa.

La importància del ham per evitar l’spam

Reading time: 2 – 2 minutes

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

Reading time: 1 – 2 minutes

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é.

Postfix: relay contra un altre mailserver

Reading time: 2 – 2 minutes

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