Navigatie overslaan.
Start

Maildir

Ik heb heel veel email adressen.
Voor iedere site of mailinglist waarop ik mij inschrijf gebruik ik een ander.

Op die manier kan ik email adressen laten ophouden met bestaan, of traceren wie/wat mijn opgegeven email adres misbruikt heeft.

Omdat ik gebruik maak van webmail, heb ik, omwille van security redenen, mijn "echte" email aliassen en de bovengenoemde "weggooi" emailadressen opgesplists in 2 verschillende mailboxen.
Op die manier is er een betere scheiding moesten er ooit rare scripts uitgevoerd worden in mijn webbrowser.
(Dit was een beslissing die ik in 2003 gemaakt heb, vandaag de dag zijn er nog een hoop andere issues aan de orde die ik toen niet voorzien had.)

Anyway, het komt erop neer dat ik al enige tijd niet meer ben ingelogd geweest op die andere mailbox met 145.000+ ongelezen emails tot gevolg.
Ik kon echter niets daarvan zien wegens memory limits, CPU limits, etc... op de webmailserver.

En dat is een probleem omdat dan mijn (client side) mailfilters niet werken die die 145.000+ mails op een iets of wat overzichtelijke manier moeten ordenen.
Meestal is dat iedere mailinglist in een aparte folder plaatsen, etc...

Gelukkig staan al mijn mails in MailDir formaat op de server. (http://qmail.org/qmail-manual-html/man5/maildir.html)

Helaas ben ik veel te koppig om gemakshalve de security features "tijdelijk" uit te zetten, want dat is op zich al een security issue.
Het was dus gewoon een kwestie van met "grep" de juiste files zoeken en deze manueel met "mv" naar de juiste direcory verplaatsen.


cd /var/emails/domain/acount/

grep "To: mailinglist@lists.sourceforge.net" *
bash: /bin/grep: Argument list too long

Oops.

Dus, ik verplicht mezelf om na te denken wat stap 1 is.
Stap 2 is in ieder geval het aanmaken van server-side mailfilters. ;-)

Stap 1:


cd /var/emails/domain/acount/cur/

find . -type f -name '*' -exec grep -l "To: mailinglist@lists.sourceforge.net" {} \; > TO_MOVE.txt

cat TO_MOVE.txt |while read line; do mv -v "$line" ../.folder_for_mailinglist/cur/; done

Tadaa!