Inloggen
Inloggen

Hoe je je eigen e-mailserver installeert

Hoe je je eigen e-mailserver installeert
Hostman Team
Technical writer
Webmail-Dienste
27.10.2025
Reading time: 9 min

Een mailserver is een systeem dat zorgt voor de correcte aflevering van e-mails tussen verzender en ontvanger. Wanneer je bijvoorbeeld een e-mail verstuurt via Gmail, gebruik je de mailserver van Google.

Een mailclient is het programma dat je gebruikt om e-mails te lezen, verzenden en opslaan. Voorbeelden hiervan zijn Microsoft Outlook, Thunderbird en andere clients.

Choose your server now!

Protocollen voor het ontvangen en verzenden van e-mail

SMTP (Simple Mail Transfer Protocol)

De uitgaande mailserver gebruikt het SMTP-protocol (Simple Mail Transfer Protocol).

Het heeft twee hoofdrollen:

  • Controleren van de verzendconfiguratie van de afzender en toestaan dat het bericht wordt verzonden.

  • Het bericht afleveren en de reactiecode verwerken.

SMTP gebruikt de poorten 25 (onversleuteld) en 465 (versleuteld).

POP3 (Post Office Protocol)

POP3 is een protocol voor het ontvangen van e-mails. Het stelt de mailclient in staat om verbinding te maken met de server en berichten lokaal te downloaden, zodat ze offline beschikbaar zijn. Standaard worden berichten na het downloaden van de server verwijderd (hoewel je ervoor kunt kiezen een kopie te bewaren).

POP3 gebruikt de poorten 110 (onversleuteld) en 995 (SSL/TLS-versleuteld).

IMAP (Internet Message Access Protocol)

Net als POP3 wordt IMAP gebruikt om e-mails te ontvangen, maar het laat je berichten rechtstreeks op de server beheren, zonder ze te downloaden. Dat is handig als je e-mail vanaf meerdere apparaten wilt bekijken.

Waarom een eigen mailserver opzetten?

De meest voorkomende reden is:

“Om mijn eigen domeinnaam te gebruiken voor mijn e-mailadres.”

Dat is waar, maar niet het hele verhaal. Je kunt je domein gebruiken zonder een eigen mailserver te beheren. Veel providers laten je jouw domein koppelen aan hun mailservers. Het voordeel: ze hebben al een geconfigureerde SMTP-server, inclusief spamfilters en versleuteling. Je hoeft alleen de NS-records (Name Server-records) goed in te stellen — veel eenvoudiger dan zelf alles bouwen.

Nadelen van externe diensten:

  • Minder controle: je hebt geen volledige invloed op het gedrag van het mailsysteem.

  • Verzendlimieten: elke provider heeft limieten op hoeveel berichten je per uur of dag kunt versturen. Dit kan lastig zijn voor zakelijk gebruik of nieuwsbrieven.

Als je een eigen mailserver bouwt, moet je zelf zorgen voor:

  • Mailboxquota en verzendlimieten

  • Back-ups om dataverlies te voorkomen

  • Bescherming tegen spam-blacklists

  • Toegangsrechten voor meerdere gebruikers

Een eigen mailserver geeft meer controle, maar vereist meer technische kennis en verantwoordelijkheid.

Een mailserver instellen

In deze handleiding laten we zien hoe je een eigen mailserver opzet met een Hostman-cloudserver en Ubuntu 20.04 als besturingssysteem.

De server zal ondersteuning bieden voor versleuteling, antispambeveiliging en een webgebaseerd beheerpaneel voor accountbeheer.

De server voorbereiden

Schakel over naar superuser-modus:

sudo su

Werk de pakketten bij:

apt update && apt upgrade

Controleer of de hostnaam overeenkomt met je domein:

hostname

Zo niet:

hostnamectl set-hostname mail.hostname.com

Installeer chrony voor tijdsynchronisatie en stel de tijdzone in:

apt install chrony
timedatectl set-timezone Europe/Athens

Bekijk beschikbare tijdzones:

timedatectl list-timezones

Schakel chrony in:

systemctl enable chrony

Benodigde poorten openen

Gebruik iptables om de volgende poorten open te zetten:

  • 25, 465 — SMTP (verzenden)

  • 110, 995 — POP3 (ontvangen)

  • 143, 993 — IMAP (ontvangen)

  • 80, 443 — HTTP/HTTPS (webbeheer)
iptables -I INPUT 1 -p tcp --match multiport --dports 25,110,143,465,587,993,995,80,443 -j ACCEPT

Maak de regels persistent:

netfilter-persistent save

Installatie en configuratie van Postfix

Postfix is een open-source Mail Transfer Agent (MTA) met een modulaire architectuur.

Installeer Postfix en de MySQL-module:

apt install postfix postfix-mysql

Tijdens de installatie:

  • Kies Internet Site

  • Voer je FQDN (volledig gekwalificeerde domeinnaam) in

Maak een gebruiker en groep aan voor het beheren van mail:

addgroup -gid 1080 vmail
adduser --home /home/mail -gid 1080 -uid 1080 vmail

Controleer de rechten:

ll /home

Postfix configureren

Open het hoofdbestand:

nano /etc/postfix/main.cf

Voeg toe of wijzig:

# Domains we accept mail for
mydestination = localhost.$mydomain, localhost, localhost.localdomain
# Postfix protocol
inet_protocols = ipv4
# Path to the public certificate
smtpd_tls_cert_file = /etc/ssl/mail/public.pem
# Path to the private certificate
smtpd_tls_key_file = /etc/ssl/mail/private.key
Then, add additional options required for Postfix to function correctly:
# Mail storage location
virtual_mailbox_base = /home/mail
# Path to alias maps
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf
# Domain storage format
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql_virtual_domains_maps.cf
# Mailbox storage format
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
# Minimum virtual user ID
virtual_minimum_uid = 1080
# UID for the main user handling mail
virtual_uid_maps = static:1080
# GID for the group handling mail
virtual_gid_maps = static:1080
# Register Dovecot as the mail delivery agent
virtual_transport = dovecot
# Enable secure authentication
smtpd_sasl_auth_enable = yes
smtpd_sasl_exceptions_networks = $mynetworks
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
# Enable TLS encryption for outgoing SMTP connections
smtp_use_tls = yes
# Enable TLS support for incoming connections
smtpd_use_tls = yes
smtpd_tls_auth_only = yes
smtpd_helo_required = yes

MySQL mapping-bestanden

Alias:

nano /etc/postfix/mysql_virtual_alias_maps.cf

Voeg de volgende inhoud toe:

user = postfix
password = postfixPa$$w0rd
hosts = localhost
dbname = postfix
query = SELECT goto FROM alias WHERE address='%s' AND active = '1'

Domeinen:

nano /etc/postfix/mysql_virtual_domains_maps.cf

Mailboxen:

user = postfix
password = postfixPa$$w0rd
hosts = localhost
dbname = postfix
query = SELECT domain FROM domain WHERE domain='%u'
nano /etc/postfix/mysql_virtual_mailbox_maps.cf

Toevoegen:

user = postfix
password = postfixPa$$w0rd
hosts = localhost
dbname = postfix
query = SELECT CONCAT(domain,'/',maildir) FROM mailbox WHERE username='%s' AND active = '1'

master.cf aanpassen

nano /etc/postfix/master.cf

Voeg toe:

submission   inet  n  -  n  -  -  smtpd
-o smtpd_tls_security_level=may
-o smtpd_sasl_auth_enable=yes
-o smtpd_sasl_type=dovecot
-o smtpd_sasl_path=/var/spool/postfix/private/auth
-o smtpd_sasl_security_options=noanonymous
-o smtpd_sasl_local_domain=$myhostname
smtps   inet  n  -  n  -  -  smtpd
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
dovecot   unix  -  n  n  -  -  pipe
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}

Beveiligingscertificaten genereren

Maak de map aan:

mkdir -p /etc/ssl/mail

Genereer certificaten:

openssl req -new -x509 -days 1000 -nodes -out /etc/ssl/mail/public.pem -keyout /etc/ssl/mail/private.key -subj "/C=CY/ST=Limassol/L=Limassol/O=Global Security/OU=IT Department/CN=mail.devnullhost.com"

Start Postfix:

systemctl enable postfix && systemctl restart postfix

Installatie en configuratie van Dovecot

Dovecot is een open-source IMAP/POP3-server.

Installeer het samen met de MySQL-module:

apt install dovecot-imapd dovecot-pop3d dovecot-mysql

Open:

nano /etc/dovecot/conf.d/10-mail.conf

Specificeer in het bestand de directorystructuur voor het opslaan van e-mail. We gebruiken een hiërarchie van domein → gebruiker:

mail_location = maildir:/home/mail/%d/%u/

Configureer in hetzelfde bestand de authenticatiemethode:

service auth {
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
unix_listener auth-userdb {
mode = 0600
user = vmail
group = vmail
}
}
service stats {
unix_listener stats-reader {
user = vmail
group = vmail
mode = 0660
}
unix_listener stats-writer {
user = vmail
group = vmail
mode = 0660
}
}

Bewerk het Dovecot-authenticatieconfiguratiebestand:

nano /etc/dovecot/conf.d/10-auth.conf

SSL-instellingen:

nano /etc/dovecot/conf.d/10-ssl.conf

Voeg het volgende toe aan dit bestand:

ssl = required
ssl_cert = </etc/ssl/mail/public.pem
ssl_key = </etc/ssl/mail/private.key

Automatische mailbox-aanmaak:

nano /etc/dovecot/conf.d/15-lda.conf

Voeg de volgende regel toe:

lda_mailbox_autocreate = yes

MySQL-verbinding:

nano /etc/dovecot/dovecot-sql.conf.ext

Voeg de volgende regels toe om MySQL te configureren:

driver = mysql
connect = host=localhost dbname=postfix user=postfix password=postfixPa$$w0rd
default_pass_scheme = MD5-CRYPT
password_query = SELECT password FROM mailbox WHERE username = '%u'
user_query = SELECT maildir, 1080 AS uid, 1080 AS gid FROM mailbox WHERE username = '%u'
user_query = SELECT CONCAT('/home/mail/',LCASE(`domain`),'/',LCASE(`maildir`)), 1080 AS uid, 1080 AS gid FROM mailbox WHERE username = '%u'

Open het hoofdconfiguratiebestand van Dovecot om de serverinterface in te stellen:

nano /etc/dovecot/dovecot.conf

Voeg in dit bestand de volgende regel toe om op alle beschikbare netwerkinterfaces te luisteren:

listen = *

Activeer Dovecot:

systemctl enable dovecot && systemctl restart dovecot

Installatie en configuratie van PostfixAdmin

Vereisten: webserver, PHP en MySQL.
Installeer de benodigde PHP-extensies:

apt install php-mysql php-mbstring php-imap

PostfixAdmin downloaden:

wget https://sourceforge.net/projects/postfixadmin/files/latest/download -O postfixadmin.tar.gz

Maak een directory voor PostfixAdmin en pak de archiefinhoud uit:

mkdir -p /var/www/html/postfixadmin && tar -C /var/www/html/postfixadmin -xvf postfixadmin.tar.gz --strip-components 1

Maak vervolgens een map voor het opslaan van sjablooncaches:

mkdir /var/www/html/postfixadmin/templates_c

Stel de juiste machtigingen in voor de webserver om toegang te krijgen tot de map PostfixAdmin:

chown -R www-data:www-data /var/www/html/postfixadmin

Maak de database aan:

mysql -u root
CREATE DATABASE postfix DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON postfix.* TO 'postfix'@'localhost' IDENTIFIED BY 'postfixPa$$w0rd';
exit;

Configuratiebestand:

nano /var/www/html/postfixadmin/config.local.php

De inhoud van het bestand zou moeten zijn:

<?php
$CONF['configured'] = true;
$CONF['default_language'] = 'en';
$CONF['database_password'] = 'postfixPa$$w0rd';
$CONF['emailcheck_resolve_domain']='NO';
?>

Open /postfixadmin/public/setup.php, genereer de hash van je wachtwoord, voeg deze toe aan het bestand en log in via /postfixadmin/public/login.php.

nano /var/www/html/postfixadmin/config.local.php

Mailbox aanmaken in PostfixAdmin

In de webinterface:

  • Domain List → New Domain
  • en daarna Overview → Create Mailbox

Verbindingsinstellingen voor clients:

Protocol

Poort

Beveiliging

IMAP

143

STARTTLS

POP3

110

STARTTLS

SMTP

25

STARTTLS

Gebruikersnaam en wachtwoord: zoals ingesteld bij het aanmaken van de mailbox.

Choose your server now!

Conclusie

In deze gids heb je geleerd hoe je een zelfgehoste mailserver opzet en configureert. Met een eigen mailserver krijg je volledige controle: je kunt onbeperkt mailboxen aanmaken, aliassen beheren en gebruikersinstellingen aanpassen.

Dit alles kan worden gerealiseerd met een Hostman-cloudserver, door stap voor stap deze instructies te volgen voor een veilige en stabiele e-mailomgeving.

Webmail-Dienste
27.10.2025
Reading time: 9 min

Vergelijkbaar

Heb je vragen,
opmerkingen of zorgen?

Onze professionals staan altijd klaar om je te helpen,
of je nu hulp nodig hebt of gewoon niet weet waar te beginnen
E-mail ons
Hostman's Support