Nico Jensen

Was kostet die Welt?! Achso... hm, dann nehm ich ne kleine Cola!

E-Mail als Wiedervorlage Teil 2

Wie hier beschrieben, habe ich mir ein Wiedervorlagen System für mein Postfach gebastelt. Schiebe ich E-Mails in den Ordner 3 days, so taucht diese in drei Tagen wieder in meinem Postfach auf.
Laufen tut dies nun seit über einen Monat bei mir und ich bin damit bisher sehr glücklich. Das Verschieben der E-Mails läuft über ein Script, welches als Cronjob jedentag um Mitternacht ausgeführt wird.

Ordner Struktur

Wie im ersten Artikel beschrieben umgesetzt:

INBOX  
├── ...
├── Wiedervorlagen
|   ├── 1 Tag
|   ├── 2 Tage
|   ├── 3 Tage
|   ├── 4 Tage
|   ├── 5 Tage
|   ├── 6 Tage
└── └── 7 Tage

Das Script

Zuerst prüfen wir, ob im Ordner 1 day Mails sind. Sind Mails vorhanden, entfernen wir die gelesen Markierung.

if [ "$(ls -A $mailpath/._wiedervorlage.1\ day/cur)" ]; then  
  cd $mailpath/Maildir/._wiedervorlage.1\ day/cur

  for i in `ls $mailpath/Maildir/._wiedervorlage.1\ day/cur`
  do
    mv $i `echo $i |  sed 's/.\{4\}$//'`
  done
fi  

Danach fangen wir an die Mails aus den Ordner in den nächsten zu verschieben.
Vom Ordner 1 day in die Inbox, vom Ordner 2 days in den 1 day Ordner, usw.

# Move '1 day' Mails to Inbox
if [ "$(ls -A $mailpath/._wiedervorlage.1\ Tag/cur)" ]; then  
  mv $mailpath/._wiedervorlage.1\ day/cur/* $mailpath/Maildir/new/.
fi

# Move '2 days' Mails to '1 day'
if [ "$(ls -A $mailpath/Maildir/._wiedervorlage.2\ Tage/cur)" ]; then  
  mv $mailpath/._wiedervorlage.2\ days/cur/* $mailpath/._wiedervorlage.1\ day/cur/.
fi  

usw.

Fazit

Wer E-Mails gerne später bearbeiten will, ohne aber seine Inbox voller E-Mails zu haben, der hat hiermit eine ideale Lösung.
Das Script kann man sicher noch optimieren aber sonst eine klare kopier Empfehlung :-)