You are hereinternet / email / mailserver / dovecot

dovecot


mu - maildir utils

Ik zag deze tweet passeren van @DriesBultynck:
zoekt nog steeds een manier om een reeks mails uit gmail te exporteren naar excel (incl. date + content). Niemand?

Volgens @haploc zou dat wel moeten lukken met Perl, Email::Simple en Spreadsheet::SimpleExcel. Aangezien ik niet zo vlot ben met Perl, heb ik een andere oplossing gezocht en gevonden: mu (kort voor Maildir Utils).

Helaas heeft mu geen kant-en-klaar pakket voor Debian dus moet het van source geïnstalleerd worden.

cd download
wget http://mu0.googlecode.com/files/mu-0.9.7.tar.gz
tar -xvf mu-0.9.7.tar.gz
cd mu-0.9.7

Op mijn systeem ontbraken nog een paar dependencies, met een paar keer ./configure te draaien heb ik ze kunnen achterhalen:

sudo apt-get install build-essential libglib2.0-dev libgmime-2.4-dev libxapian-dev xdg-utils guile-1.8-dev libgtk2.0-dev

Daarna mu configureren:

./configure

Als alles goed gegaan is, dan krijg je op het einde ongeveer zo'n output:

mu configuration is complete.
-----------------------------
Xapian version                       : xapian-config - xapian-core 1.2.3
GLib version                         : 2.24.2
GMime version                        : 2.4.14
GTK+ version                         : 2.20.1
GIO version                          : 2.24.2
Guile version                        : 1.8.7

Build unit tests (glib >= 2.22)      : yes
Build 'mug' toy-ui (requires GTK+)   : yes
McCabe's Cyclomatic Complexity tool  : yes
xdg-open                             : /usr/bin/xdg-open

Have direntry->d_ino                 : yes
Have direntry->d_type                : yes
-----------------------------

Daarna builden en installeren:

make
sudo make install
cd

Klaar? Bijna. mu werkt door een maildir te indexeren als een database, waar je dan queries op kan loslaten. Voor het indexeren gaat mu uit van een aantal zinnige defaults dus het is niet meer dan:

mu index

Afhankelijk van de grootte van de maildir kan dit even duren. Alhoewel. Bij mij viel het nog best mee:

time mu index
mu: indexing messages under /home/amedee/Maildir [/home/amedee/.mu/xapian]
/ processing mail; processed: 69736; updated/new: 69736, cleaned-up: 0
mu: elapsed: 210 second(s), ~ 332 msg/s
mu: cleaning up messages [/home/amedee/.mu/xapian]                                                                                                              
\ processing mail; processed: 69736; updated/new: 0, cleaned-up: 0
mu: elapsed: 2 second(s), ~ 34868 msg/s

real    3m32.500s
user    1m21.021s
sys     0m7.692s

Als je mu regelmatig gebruikt, dan is misschien geen slecht idee om mu index toe te voegen als cron job.

Nu mu geïnstalleerd is, kan je queries draaien zoals

mu find "iText" --format=xml > mu-iText.xml

Dit geeft bij mij als output:

<?xml version="1.0" encoding="UTF-8" ?>
<messages>
        <message>
                <from>1T3XT BVBA &lt;info [at] 1t3xt [dot] info&gt;</from>
                <to>Post all your questions about iText here &lt;itext-questions [at] lists [dot] sourceforge [dot] net&gt;</to>
                <subject>Re: [iText-questions] Adding watermark in front of the page    background color</subject>
                <date>1323524095</date>
                <size>7149</size>
                <msgid>4EE35FFF [dot] 6070006 [at] 1t3xt [dot] info</msgid>
                <path>/home/amedee/Maildir/.mailinglijst.itext-questions/cur/1323524308.25506_3.intrepid:2,</path>
                <maildir>/.mailinglijst.itext-questions</maildir>
        </message>
        <message>
                <from>Balder VC &lt;lists [at] redlab [dot] be&gt;</from>
                <to>itext-questions [at] lists [dot] sourceforge [dot] net</to>
                <subject>Re: [iText-questions] XMLWorker &amp; RTL</subject>
                <date>1323524276</date>
                <size>7769</size>
                <msgid>4EE360B4 [dot] 8040008 [at] redlab [dot] be</msgid>
                <path>/home/amedee/Maildir/.mailinglijst.itext-questions/cur/1323524480.9255_3.intrepid:2,</path>
                <maildir>/.mailinglijst.itext-questions</maildir>
        </message>
        <message>
                <from>Balder VC &lt;lists [at] redlab [dot] be&gt;</from>
                <to>Post all your questions about iText here &lt;itext-questions [at] lists [dot] sourceforge [dot] net&gt;</to>
                <subject>[iText-questions] Fwd: Re:  XMLWorker &amp; RTL</subject>
                <date>1323525006</date>
                <size>19787</size>
                <msgid>4EE3638E [dot] 7020708 [at] redlab [dot] be</msgid>
                <path>/home/amedee/Maildir/.mailinglijst.itext-questions/cur/1323525223.17054_3.intrepid:2,</path>
                <maildir>/.mailinglijst.itext-questions</maildir>
        </message>
</messages>

Meer voorbeelden van queries zijn te vinden op de mu cheatsheet.

Nu is het gewoon nog een kwestie van:

  1. Een lokale IMAP-server installeren die Gmail binnentrekt (zelf ben ik nogal fan van Dovecot)
  2. De gepaste query verzinnen, met XML output.
  3. De XML-file binnentrekken in een spreadsheetprogramma.

Voila, dit is één mogelijke oplossing.

Mbox mailboxen omzetten naar Maildir

Ik gebruik Dovecot met maildir, en heel af en toe moet ik eens een mbox-bestand herverwerken zodat de mail op de juiste plaats beland:

 formail -b -s procmail -m ~/.procmailrc < $mailfile

waarbij $mailfile in mbox-formaat is.

 

Meer info hier.

intrepid²: mailserver

http://holl.co.at/howto-email/
http://www.debianadmin.com/debian-mail-server-setup-with-postfix-dovecot...
http://www.linuxmail.info/postfix-smtp-auth-dovecot-sasl/
sudo aptitude install dovecot-imapd postfix postgrey policyd-weight procmail squirrelmail
sudo ln -s /etc/squirrelmail/apache.conf /etc/apache2/conf.d/squirrelmail.conf
sudo /etc/init.d/apache2 reload
rsync -crtzhP -e ssh intrepid.warp.be:"~/Maildir" .
/etc/aliases is aangepast + sudo newaliases

Reclame... ;-)

Met dank aan
  • Jasmina
  • Celine
  • Pieter
  • Jeff
  • Hans
  • Jurgen
  • Jurgen
  • Marijke
  • Amedee
  • Erik
  • Danny
  • Sofie
  • Lars
  • Christophe
  • Peter
  • Jeroen
  • Jurgen
om mij een gratis herlading twv €15 te bezorgen!

Waar ben ik?