Een mailserver configureren op een Virtual Machine

Om poort 25 op je Virtual Machine (VM) te openen, ga je naar VPS Manager > kies het tabblad "Mail Bridge" > druk op de knop ‘Add Mail Bridge’.

Zodra het PTR-record is ingesteld en poort 25 is ingeschakeld, kun je de SMTP-server van je voorkeur instellen. Hieronder staan voorbeelden voor Postfix, Exim en Sendmail. Gebruik het VM IP dat wordt weergegeven in je VPS Manager en zorg ervoor dat je domeinnaam voor het PTR-record overeenkomt met je afzenderdomein (bijv. mail.example.com).

Postfix installeren en configureren

# voor Debian/Ubuntu

sudo apt update

sudo apt install postfix mailutils -y



# voor Almalinux/Rocky/Cloudlinux/EL

# controleer RPM-gebaseerde distro's om te controleren

# als Postfix is geïnstalleerd

rpm -qa | grep postfix

# als dat niet zo is, voer dan de onderstaande opdracht uit om Postfix te installeren

sudo dnf install postfix



Wanneer Postfix is geïnstalleerd, kun je de service starten en ervoor zorgen dat deze start nadat je server opnieuw is opgestart:

sudo systemctl start postfix

sudo systemctl enable postfix

Vervolgens kun je de service configureren. Alle opties die nodig zijn voor de service bevinden zich in de map /etc/postfix en het belangrijkste configuratiebestand is /etc/postfix/main.cf

Voer de opdracht sudo nano /etc/postfix/main.cf uit om het belangrijkste configuratiebestand te bewerken en voeg deze regels toe of werk ze bij:

inet_interfaces = all

# myhostname geeft de hostnaam van de mailserver op

myhostname = mail.example.com

# mydomain geeft het domein op dat daadwerkelijk e-mails afhandelt

domain = example.com

# mail_spool_directory geeft de map op waar mailboxbestanden worden geplaatst

mail_spool_directory = /var/mail

myorigin = /etc/mailname

mydestination = $myhostname, localhost.$mydomain, localhost

relayhost =

inet_protocols = all

smtp_banner = $myhostname ESMTP



Start Postfix opnieuw om de wijzigingen toe te passen:

sudo systemctl restart postfix



Test het verzenden van e-mail:

echo "Test message" | mail -s "Test Email" user@recipient.com

Exim 4 installeren en configureren

# voor Ubuntu/Debian

sudo apt update

sudo apt install exim4 -y



De onderstaande opdracht toont een wizardinterface voor het configureren van de software. Hiermee kunnen gebruikers bepalen of Exim de configuratie over meerdere bestanden moet verdelen of in één bestand moet opslaan:

sudo dpkg-reconfigure exim4-config

Als de eerste optie wordt gebruikt, wordt de configuratie opgeslagen in de submappen /etc/exim4/conf.d. Als er voor één configuratiebestand wordt gekozen, is dat /etc/exim4/exim4.conf

Wanneer alle configuraties zijn voltooid, voer je systemctl restart exim4uit zodat de wijzigingen van kracht worden.

Bewerk /etc/exim4/update-exim4.conf.conf om ervoor te zorgen dat:

# dc_local_interfaces geeft het IP-adres van je mailservice op (bijv. 203.0.113.10)

dc_local_interfaces='203.0.113.10'

# dc_readhost geeft de naam van je systeemmail op

dc_readhost='example.com'

# dc_other_hostnames geeft de hostnaam van het systeem op

dc_other_hostnames='mail.example.com'



Start Exim opnieuw om de wijzigingen toe te passen:

sudo systemctl restart exim4


Test de e-mailbezorging door de onderstaande opdracht uit te voeren:

echo "Mail test" | mail -s "Exim Test" user@recipient.com

Sendmail installeren en configureren

# voor Ubuntu/Debian

sudo apt update

sudo apt install sendmail sendmail-bin -y

# voor Almalinux/Cloudlinux/RHEL

yum install sendmail sendmail-cf mailutils


Het belangrijkste configuratiebestand van Sendmail is /etc/mail/sendmail.cf. Bewerk dit bestand niet rechtstreeks. Als het nodig is om de configuratie te bewerken, bewerk dan in plaats daarvan het bestand /etc/mail/sendmail.mc, maak een back-up van het oorspronkelijke configuratiebestand en gebruik een van de volgende alternatieven om een nieuw configuratiebestand te genereren:

1) Gebruik het meegeleverde makefile /etc/mail om een nieuwe configuratie te maken:

make all -C /etc/mail/

 

Alle gegenereerde bestanden in /etc/mail worden indien nodig opnieuw gegenereerd.

2) Als alternatief kun je de m4macroprocessor gebruiken om een nieuw bestand /etc/mail/sendmail.cf te maken. De m4macroprocessor is niet standaard geïnstalleerd. Voordat je deze gebruikt om /etc/mail/sendmail.cf te maken, installeer je het pakket m4als root:

# voor Almalinux/Cloudlinux/RHEL

yum install m4


# voor Ubuntu/Debian

apt install m4


De volgende Sendmail-configuratiebestanden bevinden zich in de map /etc/mail/:

  • access- geeft aan welke systemen Sendmail kunnen gebruiken voor uitgaande e-mail

  • domaintable- domeinnaamtoewijzing

  • local-host-names - aliassen voor de serverhost

  • mailertable- instructies die routing voor specifieke domeinen overschrijven

  • virtusertable- geeft een domeinspecifieke vorm van aliassen op, waardoor meerdere virtuele domeinen op de machine kunnen worden gehost.


Hieronder zie je voorbeelden van hoe de configuratiebestanden kunnen worden bewerkt:

# de aliassen van de serverhost bewerken:

echo "mail.example.com" > /etc/mail/local-host-names


# koppelen aan Mail IP door /etc/mail/sendmail.mc te bewerken:
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Addr=203.0.113.10')dnl


# de configuratie opnieuw opbouwen:
sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf


# testen:

echo "Hello from Sendmail" | mail -s "Sendmail test" user@recipient.com

Verschillende van de bovengenoemde configuratiebestanden moeten hun informatie opslaan in databasebestanden voordat wijzigingen van kracht kunnen worden. Om wijzigingen die in de configuratiebestanden zijn aangebracht op te nemen, voer je als root de opdracht makemap hash /etc/mail/<name> < /etc/mail/<name>uit. Hier staat <name> voor de naam van de configuratie die moet worden bijgewerkt.

Start het Sendmail-proces opnieuw door de opdracht systemctl restart sendmail uit te voeren.

Een geldig e-mailadres is vereist