---
layout: post
title: E-Mail als Wiedervorlage Teil 2
---
Wie [hier](/2016/04/07/e-mail-als-wiedervorlage-teil-1/) 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](/2016/04/07/e-mail-als-wiedervorlage-teil-1/) 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 :-)