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.
Postfix als mailserver
Fetchmail om je mail van je pop3 email adressen op te halen en aan postfix te overhandigen.
Procmail deze zet je mail van het formaat mbox om naar het maildir formaat en zet deze in de home directory van de gebruiker.
Courier. Is de Imap server.
Benodigheden:
Een geinstalleerde Debian gebaseerde linux distributie op je PC;
root rechten, want je moet software installeren, dus heb je deze rechten nodig;
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:
Kies voor een smarthost configuratie, en vul bij mailname je maildomain in.
Kies bijvoorbeeld je servernaam uit, in dit voorbeeld nemen we mailserver als mailname.
Als postfix vraagt of hij $domain bij de uitgaande mail moet toevoegen, kies dan nee. Voor de rest van de vragen kunt je de standaard waarden accepteren.
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
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
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.