Een Linux Imap server inrichten.

Waarom een eigen IMAP mailserver?

Waarom zou je aan een eigen imap mailserver beginnen?

Je kunt hiervoor verschillende dingen bedenken, maar het belangrijkste vindt ik dat je alle mail op 1 centrale plek hebt staan, die je dan kan benaderen van andere PC's thuis of zelfs overal waar je kunt internetten. Het is dus mogelijk om al je POP3 accounts op te halen naar je Imap server en dan je mailprogramma in te stellen zodat deze verwijst naar je eigen imap server en de mails te gaan lezen.

Sterker nog, je kunt alle POP3 mailboxen van je familie ophalen zodat ook zij gebruik kunnen maken van je imap server. Verder kun je je eigen backup scripts maken om je mail veilig te stellen.

Onderstaande instructies gelden in principe voor alle Debian gebaseerde systemen, de installatie in dit voorbeeld is uitgevoerd op de distributie sidux.



Onderstaande software pakketten worden gebruikt voor onze eigen Imap Server:



Benodigheden:

Postfix installeren

Voor het installeren van postfix voer je het volgende uit op de commandline of in een terminal sessie in je grafische omgeving: apt-get --purge install postfix









De --purge parameter zorgt ervoor dat de standaard geinstalleerde mailserver (exim) verwijderd wordt, voordat postfix geinstalleerd gaat worden.

Tijdens de installatie van postfix krijg je een aantal vragen, geef de volgende antwoorden op de gestelde vragen:



Postfix Configureren:

Voer het volgende commando uit om postfix te configureren:

vi /etc/postfix/main.cf

Pas de gegevens aan, normaal gesproken zijn de standaard instellingen goed, maar de procmail instelling moet je wat veranderen. Als de server moet relayen voor interne netwerk adressen dan moet je de mynetworks parameter ook nog veranderen.


Hieronder een werkende configuratie script voor postfix:

# see /usr/share/postfix/main.cf.dist for a commented, fuller
# version of this file.
# Do not change these directory settings - they are critical to Postfix
# operation.
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
program_directory = /usr/lib/postfix

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
setgid_group = postdrop
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no
myhostname = mailserver
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = mailserver, localhost.localdomain, localhost


relayhost = smtp.zonnet.nl			# voer hier je smtp server in
mynetworks = 127.0.0.0/8  192.168.1.0/24 #geef hier de range waarvoor mag gerelayed worden
mailbox_command = /usr/bin/procmail     ## de procmail instelling!!

mailbox_size_limit = 0
recipient_delimiter = +

In het bestand /etc/mailname moet het juiste brondomein zijn ingesteld (in ons voorbeeld is dit mailserver)

#/etc/mailname
#dit bestand moet aangepast worden anders werkt de relay niet
#zonder dit wordt de mail niet verstuurd
#Hieronder je maildomein naam , in ons geval mailserver
mailserver
#dit is de standaardinstelling
#debian.localdomain

Als je de configuratie opgeslagen hebt, moet je postfix herstarten om de wijzigingen actief te maken:

/etc/init.d/postfix restart

Als je het programma mail geinstalleerd heb zou je procmail kunnen testen door vanaf de server een mail te versturen naar een eigen account, bijvoorbeeld:

echo "dit is een test" | mail -s test mijn.adres@mijnprovider.nl



fetchmail wat doet het?

Aangezien de meesten onder ons geen vast ip hebben wordt onze inkomende mail niet rechtstreeks op onze server afgeleverd, maar op de servers van bijvoorbeeld zonnet. Fetchmail gaat die dan ophalen en levert die af op poort 25 van de postfix mailserver.

Installeren van fetchmail doe je door het volgende commando uit te voeren:

apt-get install fetchmail

In /etc/fetchmailrc vindt je de fetchmail configuratie dit bestand moet je nog aanmaken middels het commando: touch /etc/fetchmailrc

Hierna kun je de configuratie bestand bewerken middels : vi /etc/fetchmailrc

In dit configuratiebestand plaats je je informatie waar jij je email vandaan wilt halen en nog enkele fetchmail instellingen, zoals hier is weer gegeven:

# /etc/fetchmailrc
set syslog      #optioneel, logging aanzetten
poll POP3.JE_PROVIDER_POPServer.NL with proto POP3
user GEBRUIKERSNAAM_VAN_JE_Provider there with password JE_email_Wachtwoord is JE_LINUX_GEBRUIKERSNAAM here

Voer onderstaande uit om de configuratie van fetchmail te herladen:

/etc/init.d/fetchmail restart



Installatie van Procmail en Courier-imap software

De Courier leest de postbussen ,in het Maildir formaat, in de home directory's van de gebruikers. Procmail wordt gebruikt om de mail te verplaatsen en om te zetten. Met procmail kan je ook scripts gaan opstellen om je mail te filteren op spam en/of op trefwoorden/emailadres om de mail in een bepaalde map te laten toekomen.

Voor de installatie van Procmail en Courier-imap voer je de volgende commando's uit:

apt-get install procmail
apt-get install courier-imap

Maak eerst een mailbox aan voor de gebruiker, hiervoor moet je naar de home directory van de gebruiker gaan en voer je het volgende commando uit:

su – gebruikersnaam		#Dit geeft aan dat je de gebruiker wordt
maildirmake Maildir		#maakt de maildir structuur aan.

Daarna zou je een maildirectory moeten hebben voor de gebruiker met hierin 3 mappen, te weten:

cur, new, tmp dit zijn de standaard maildir directories, de gebruiker kan zelfs nieuwe directories aanmaken via het mail programma.

Het configureren van procmail doe je door als de gebruiker in te loggen en dan in de home directory het volgende bestand aan te maken: .promailrc dit is een verstopte bestand.



Een basis procmailrc bestand zonder filters of sortering van berichten ziet er als volgt uit:

# ~/.procmailrc

PATH=/usr/bin:/bin:/usr/local/bin
MAILDIR=$HOME/Maildir   #in de Maildir voor courier zetten
DEFAULT=$MAILDIR/new    #in de Maildir voor courier zetten
PMDIR=/tmp/procmail
LOGFILE=/var/log/procmail

Als de courier-imap deamon draait zou je nu een connectie moeten kunnen leggen met deze imap server. Dit doe je vanaf een mailclient, je krijgt dan je home folder te zien. Hierin komen je e-mails en je kan naar hartelust folders aanmaken.



eislon.nl