Met een IMAP server kun je je email centraal opslaan en met meerdere apparaten tegelijkertijd benaderen. Ik leg uit hoe je dit gratis kunt opzetten.

De meeste mensen hebben tegenwoordig meerdere computers in huis. Nu is het handig als je met elke computer je email centraal kunt benaderen. Een mogelijk oplossing is dat je de file(s) waarin de email staat op een centraal plaats op je netwerk opslaat. Vervolgens laat je alle email clients naar deze plaats verwijzen. Dit werkt in de meeste gevallen prima, maar Outlook kan hiermee soms problemen krijgen. Indien meerdere computers dezelfde mailbox tegelijk benaderen gaat het vaak mis (corruptie, locks, etc.). Een goede oplossing voor dit probleem is om gebruik te maken van een IMAP server voor je email.

Wat is IMAP?

Het mail protocol waar de meeste mensen bekend mee zijn is POP. Het is lange tijd de industrie standaard geweest voor het zenden en ontvangen van email. Een client connect naar de POP server en vraagt of hij nog emails voor hem heeft. Als het antwoord ‘Ja’ is dan ontvangt de client een lijst van messages en download deze. Optioneel worden de berichten dan van de POP server verwijderd of blijven hierop staan.

IMAP is een alternatief voor POP met veel voordelen. De meest belangrijke is het feit dat copies van de berichten centraal op de server blijven staan, waardoor ze overal benaderd kunnen worden. Dit in tegenstelling tot POP waarbij de berichten gefragmenteerd en verborgen in verschillende niet-synchrone en niet-centrale desktop mailboxes staan. Bij IMAP communiceert de mail client met de gecentraliseerde berichten op de IMAP Server. Dit betekent dat de mailboxen hetzelfde zijn op elke computer die deze benaderd. De status (read/unread/replied) van emails worden ook bijgehouden op de IMAP Server.

Daar je voor IMAP de berichten voor lange tijd op de server houdt, prefereren bijna alle populaire email leveranciers POP. Hierbij hoeven ze de berichten niet voor lange tijd permanent op te slaan. Verder hebben ze zelfs een maximum aan hoe groot de POP mailbox kan zijn (meestal 20 MB). Als je zelf toch al een server draait kun je handig gebruik maken van de voordelen van IMAP.

Debian Webserver

Zoals je in een vorige blog hebt kunt lezen heb ik nu een aparte Debian server waarop mijn blog draait. Je kunt natuurlijk nog veel meer met zo’n Debian Server. Ik besloot dan ook om hierop een IMAP Server te gaan draaien die benaderd kan worden door mijn Outlook software op diverse computers in mijn netwerk.

In principe heb je hiervoor maar 3 stukken software nodig:

  • Dovecot: dit is de IMAP Server software
  • Fetchmail: deze ontvangt de email van diverse mailboxen en slaat deze in de IMAP Server op
  • Procmail: deze stuurt de ontvangen email door

Dovecot

Hierbij heb je de volgende stappen nodig:
Installeer Dovecot met het volgende commando

apt-get install dovecot-imapd

Configureer Dovecot in de configuratie-file ‘/etc/dovecot/dovecot.conf’.
Zorg dat in elk geval de volgende regels aanwezig zijn:

protocols = imap
disable_plaintext_auth = no
mail_location = /home/%u/mail

Je mail zal nu te vinden zijn in de ‘home/<user-name>/mail’ directory.

Restart Dovecot met het volgende commando:

/etc/init.d/dovecot restart

Fetchmail

Installeer Fetchmail met het volgende commando

apt-get install fetchmail

Creeer een configuratie-file in ‘/etc/fetchmailrc’ met de volgende inhoud (verander pop3 naar believen):

# /etc/fetchmailrc for system-wide daemon mode
# This file must be chmod 600, owner root

set daemon      60      # poll every 60 seconds
set syslog              # log through syslog facility
set postmaster  henri

set no bouncemail       # avoid loss on 4xx errors

#########################################################
# Hosts to pool                                         #
#########################################################
# Set antispam to -1, since it is far safer to use that together
# no bouncemail
defaults:
timeout         300
antispam        -1
batchlimit      100

poll pop.wxs.nl proto POP3 user "<pop3 user-name>" there with password "<pop3 password>" is <user-name> fetchall
mda "/usr/bin/procmail -d %T"

poll pop3.live.com proto POP3 port 995 user "<pop3 user-name>" there with password "<pop3 password>" is <user-name> fetchall options ssl
mda "/usr/bin/procmail -d %T"

Zet enkele eigenschappen voor deze configuratie-file:

chmod 600 /etc/fetchmailrc
chown root /etc/fetchmailrc

Zorg ervoor dat Fetchmail opstart als een Daemon in de configuratie-file ‘/etc/default/fetchmail’ door het veranderen van de waarde voor ‘START_DAEMON’ naar ‘yes’.

Start vervolgens Fetchmail op met het commando:

/etc/init.d/fetchmail start

Om te testen of Fetchmail goed werkt kun je het volgende commando uitvoeren:

fetchmail --daemon 0 -v -f /etc/fetchmailrc

De melding ‘fetchmail: WARNING: Running as root is discouraged’ die je hierbij krijgt is niet erg.

Procmail

Installeer Procmail met het volgende commando

apt-get install procmail

Outlook clients

Nu moet je nog je Outlook clients configureren dat ze gebruik maken van de nieuwe IMAP Server.
Creëer hiervoor een nieuw e-mail account en zorg dat je bij de Internet E-mail settings je het ‘Account Type’ op IMAP zet.

Voor je ‘Incoming mail server’ vul je dan het ip-adres in waar je IMAP server draait. Voor ‘Outgoing mail server (SMTP)’ vul je de gegevens van je internet provider in. Dit heeft te maken met het feit dat de meeste internet providers niet toestaan dat je een eigen Mail server draait die email kan sturen. Dit is o.a. gedaan om spambots tegen te gaan.

Tips en Tricks

Om te controleren of je Fetchmail goed werkt kun je de logfile van mail inspecteren met het volgende commando:

tail -F /var/log/mail.log

Je zult merken dat met oudere Outlook clients (2003 en 2007) je emails niet meteen kunt verwijderen. Indien je dit probeert zul je zien dat de message header grijs wordt met een streep erdoor heen. Pas als je in het Edit menu een van de ‘Purge…’ commando’s kiest wordt de email daadwerkelijk verwijderd. Dit heeft te maken met hoe Outlook met IMAP omgaat. In Outlook 2010 is het gebruik van IMAP servers sterk verbeterd. Zo zal de email die je verwijderd weer netjes in je ‘Deleted Items’ folder terecht komen.