Nuovo client di posta

Ciao a tutti, rieccomi online in un periodo veramente incasinato sia per quanto riguarda il lavoro (ultime produzioni pre-ferie) sia per il privato (pianificazione ferie!).
Scrivo questo post per rendere pubblico il mio lavoro di transizione da Thunderbird a Sylpheed sotto XP. Generalmente mi trovo a dover gestire tre account di posta, due attivi (lavoro e Gmail) e uno in fase di chiusura (Email.it), con un totale di 73(!) cartelle di posta nelle quali vengono smistate le email che mi arrivano, alcune delle quali con pochi messaggi, ma con altre contenenti, a oggi, fino a 7854 messaggi (la mailing list Php-it di Ziobudda). Ho usato Thunderbird sin dalle prime versioni e devo dire che e’ un ottimo client di posta, ma purtroppo e’ un po’ troppo esoso di risorse per le mie esigenze: qui al lavoro sono abituato a tenere aperti almeno 5 programmi assieme, e i 30MB di memoria che mi occupa, sia aperto che ridotto ad icona, mi danno fastidio.
Mi sono guardato in giro, e ho scelto Sylpheed: veloce e leggero, basato sulle librerie GTK+ (che su XP girano veramente bene), utilizza il formato MH (un file per ogni mail), ed e’ comunque in grado di importare/esportare file mbox.
L’importazione da Thunderbird e’ avvenuta perfettamente sia per quanto riguarda le email che per la rubrica (in formato LDIF), e i filtri per la gestione delle mail in arrivo li sto riscrivendo man mano mi servono; lo spam lo gestisco tramite il supporto integrato a bsfilter. I dettagli relativi all’occupazione di memoria sono questi: aperto 16MB, ridotto a icona 4,2MB , e mi sembra un ottimo risultato. Ho rilevato solo due funzionalita’ mancanti, che ritengo utili: 0) un qualche tipo di notifica all’arrivo di una mail, 1) la possibilita’ di impostare come azione di un filtro il forwarding della mail ad un indirizzo di posta. Ma ci ho messo del mio, e il punto 0) l’ho risolto con un programmino scritto da me, che viene lanciato da Sylpheed all’arrivo di una mail, facendo comparire una icona nella traybar e chiudendosi al click sull’icona stessa. Lo zip dell’eseguibile lo trovate qui, mentre lo zip dei sorgenti (Delphi7) e’ qui; per la visualizzazione dell’icona ho utilizzato il componente CoolTrayIcon.

Ecco un po’ di codice…

trayNotifier.dpr

program trayNotifier;

uses
Windows,Forms,
TTrayNotifier in 'TTrayNotifier.pas' {Form1};
var
Mutex : THandle;
{$R *.res}

begin
Mutex := CreateMutex(nil, True, 'trayNotifier');
if (Mutex <> 0) and (GetLastError = 0) then
begin
Application.Initialize;
Application.ShowMainForm:=False;
Application.CreateForm(TForm1, Form1);
Application.Run;
if Mutex <> 0 then
CloseHandle(Mutex);
end;
end.

Da notare la parte relativa al mutex e al ShowMainForm settato a False: il primo consente l’esecuzione di una istanza sola del programma, mentre il secondo non mostra la form principale.

TTrayNotifier.pas

unit TTrayNotifier;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ImgList, CoolTrayIcon, TextTrayIcon, Menus;

type
TForm1 = class(TForm)
TextTrayIcon1: TTextTrayIcon;
ImageList1: TImageList;
PopupMenu1: TPopupMenu;
Exit1: TMenuItem;
procedure TextTrayIcon1Click(Sender: TObject);
procedure TextTrayIcon1DblClick(Sender: TObject);
procedure Exit1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.TextTrayIcon1Click(Sender: TObject);
begin
Close;
end;

procedure TForm1.TextTrayIcon1DblClick(Sender: TObject);
begin
Close;
end;

procedure TForm1.Exit1Click(Sender: TObject);
begin
Close;
end;

end.

Ah, dimenticavo: trayNotifier.exe va messo nella cartella contenente l’eseguibile di Sylpheed, e nelle Preferenze Comuni di quest’ultimo va spuntata la casella “Esegui il comando…” e scrivendo nel box sotto “trayNotifier.exe”, ovviamente senza apici!

Alla prox

One thought on “Nuovo client di posta”

Comments are closed.