nicojensen.de/_posts/2016-05-13-e-mail-als-wiedervorlage-teil-2.md
2019-04-08 10:58:59 +02:00

57 lines
No EOL
1.9 KiB
Markdown

---
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 :-)