Maildir and Wmii

English version. German version follows.

It is not long since i began to use mutt but opera mail. I used operas mailclient since 14/7/2005 and I hat never problemes with that, even in my trash folder containing 14913 mails i got my search result directly.

However text-based is actually cooler and the main reson forsaking my loyal opera mail is that I want to script my mail handling. After hours I wangled mutt, procmail, getmail and sendmail (all the M*A stuff) to behave like I want I wrote my first script to account for my breach of trust to opera mail.

It checks new mails in Maildirs and outputs the count of new mails in each mailbox, perfect for wmii status bar [1]. Certainly you have to adjust folder names etc.

I don't call it directly in wmiirc because of fear of performance issues but I write it via cron to a file.

By the way: combining mutt signatures and fortune is a really nice idea (google will help you).

Deutsche Version

Opera Mail hat mir seit dem 14.07.2005 sehr treue Dienste erwiesen. Ich war immer zufrieden mit der Performance, hatte nie Stabilitätsprobleme. Selbst mein Trashordner mit 14913 Mails lies sich ohne störender Wartezeit Volltext durchsuchen.

Aber nun ja, konsole ist halt cooler. Außerdem wollte ich endlich mal mutt ausprobieren und ihn ein wenig mit meinem wmii verscripten. Nach mehreren stressigen Stunden mit mutt, procmail, getmail und sendmail hatte ich nun alle soweit, ihren teil so zu verrichten wie ich es möchte. Dies hier ist nun mein erstes kleines Script, dass mir mein Gewissen zumindest ein wenig bereinigt [1].

Ich nutze es, um mir in der wmii statusleiste die neuen Mails (und die dazugehörigen Mailboxes) anzeigen zu lassen. Sicherheitshalber lass ich es aber via Cron in eine Datei schreiben und rufe es nicht direkt in der wmiirc auf.

[1]

Parameters to change: Maildir: /home/felix/Mail, potentially the -f option of cut command.

Achte darauf, den Pfad zum Maildir (und damit auch den f-Parameter des cut-Befehl) anzupassen.


#!/bin/bash

for dir in $(find /home/felix/Mail -mindepth 1 -maxdepth 1 -type d);
do
count=$(find $dir -name '*,' -or -not -name '*,*' -and -type f | wc -l);
if [ $count -gt 0 ];
then
echo -n $(echo $dir | cut -d '/' -f5): $count' '
fi
done