Inloggen
Inloggen

Hoe je e-mails verstuurt in Linux via de opdrachtregel met Sendmail en Mailx

Hoe je e-mails verstuurt in Linux via de opdrachtregel met Sendmail en Mailx
Hostman Team
Technical writer
Webmail-Dienste Linux-systeem
26.11.2025
Reading time: 5 min

Voor iedereen die servers beheert of met automatisering werkt, is het essentieel om te weten hoe je e-mails vanuit de Linux-terminal verstuurt. Het geeft volledige controle over e-mailfunctionaliteit en maakt zware mailprogramma’s overbodig. Dit is vooral handig in situaties waarin snelheid en eenvoud belangrijk zijn.

Veelgebruikte tools zoals sendmail en mailx zijn ideaal voor het verzenden van berichten, controleren van SMTP-instellingen, automatiseren van meldingen en integratie met scripts. Ze zijn eenvoudig maar krachtig en perfect voor taken zoals het informeren van teams over serverupdates, het genereren van automatische rapporten of het testen van e-mailconfiguraties.

Deze handleiding is bedoeld voor gebruikers die hun e-mail direct via de terminal willen beheren. Het behandelt de installatie van essentiële tools en gaat verder met geavanceerde taken zoals het verzenden van bijlagen en het configureren van e-mailtools.

Waarom e-mailtools via de command line gebruiken?

De twee meest gebruikte tools — sendmail en mailx — zijn betrouwbare opties voor e-mailverzending op Linux en bieden diverse voordelen:

Efficiëntie

Traditionele e-mailsoftware kan traag en zwaar zijn. Deze tools zijn lichtgewicht en versturen e-mails razendsnel vanuit de terminal.

Automatisering

Ze integreren naadloos met shellscripts, cronjobs en monitoringtools. Hierdoor kunnen terugkerende acties automatisch meldingen versturen.

SMTP-problemen oplossen

SMTP-configuraties worden eenvoudiger te debuggen. Deze tools geven inzicht in bezorgstatussen, logs en fouten.

Flexibiliteit

Of het nu gaat om waarschuwingen, interne meldingen of geautomatiseerde rapporten: sendmail en mailx zijn veelzijdig inzetbaar.

Vereisten

Zorg dat je het volgende hebt voordat je deze Linux e-mailcommando’s gebruikt:

  • Terminaltoegang: In sommige gevallen zijn rootrechten vereist.

  • SMTP-server: Een uitgaande mailserver is nodig voor tests.

  • Geïnstalleerde tools: Controleer of sendmail en mailx correct zijn geïnstalleerd.

Een SMTP-server instellen

SMTP-servers zijn essentieel voor het verzenden van e-mails. Ze zijn onderverdeeld in:

  1. Externe SMTP-servers

  2. Lokale SMTP-servers

Externe SMTP-servers

Dit zijn mailservers van een externe provider. Ze versturen e-mails via het internet naar ontvangers buiten je netwerk en bieden:

  • Wereldwijde aflevering

  • Authenticatie

  • Versleuteling

  • Spampreventie

Voorbeelden

Gmail

  • Adres: smtp.gmail.com

  • Poort: 587 (TLS) of 465 (SSL)

Outlook

  • Adres: smtp.office365.com

  • Poort: 587

Ze vereisen correcte authenticatie (gebruikersnaam, wachtwoord of app-wachtwoord) en encryptie (TLS/SSL).

Opmerking: we hebben al een handleiding voor externe SMTP-instellingen. De verzendopdrachten blijven hetzelfde. Configureer simpelweg de SMTP-instellingen en gebruik je Gmail- of andere provideraccounts.

Lokale SMTP-servers

Deze servers functioneren binnen een intern netwerk. Ideaal voor:

  • Interne e-mails (bijv. tom@office.local → jerry@office.local)

  • Lokale tests en ontwikkeling

  • Interne communicatie

  • Geen internet nodig

Lokale SMTP-server instellen

Stap 1 — Installeer Postfix

sudo apt install postfix

Stap 2 — Configureer Postfix

sudo nano /etc/postfix/main.cf

Belangrijke instellingen:

myhostname = mail.office.local

mydomain = office.local

myorigin = $mydomain

inet_interfaces = loopback-only

local_recipient_maps = proxy:unix:passwd.byname

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

Sla op en herstart Postfix:

sudo systemctl restart postfix

Stap 3 — Gebruikers aanmaken

sudo adduser linux

sudo adduser hostman

Hiermee maak je adressen zoals linux@office.local aan.

Overzicht van sendmail

sendmail is een bekende mail transfer agent (MTA) op Linux. Het werkt goed met SMTP-servers en kan e-mails verzenden vanaf lokale systemen of scripts.

sendmail installeren

Debian/Ubuntu

sudo apt install sendmail

CentOS/Red Hat

sudo yum install sendmail

Dienst starten en inschakelen

sudo systemctl start sendmail

sudo systemctl enable sendmail

Configuratie testen

echo "Testing sendmail setup" | sendmail -v your-email@example.com

Inkomende e-mail controleren:

mail

Installeer mailutils als mail ontbreekt:

sudo apt install mailutils

Of bekijk lokale mailbox:

cat /var/mail/user

sendmail configureren

sudo nano /etc/mail/sendmail.mc

Voorbeeld: domeinnaam instellen:

define(`confDOMAIN_NAME', `your_domain.com')dnl

Nieuwe configuratie genereren:

sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

Bij permissiefouten:

sudo sh -c "m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf"

sendmail herstarten:

sudo systemctl restart sendmail

E-mail verzenden met sendmail

1 — Maak een bestand aan

nano email.txt

Inhoud:

Subject: Test Email from Hostman

This is a test email sent using sendmail on Linux.

2 — E-mail versturen

sendmail recipient@example.com < email.txt

3 — Controleren

mail

Bijlagen verzenden

sendmail ondersteunt geen bijlagen standaard, maar met uuencode kan dit wel:

sudo apt install sharutils

Met een bijlage sturen:

( echo "Subject: Email with attachment"; uuencode file.txt file.txt ) | sendmail recipient@example.com

Controleren:

mail

Overzicht van mailx

mailx is een eenvoudige maar efficiënte terminaltool voor e-mailbeheer. Het maakt deel uit van mailutils op de meeste distributies.

mailx installeren

Debian/Ubuntu

sudo apt install mailutils

Red Hat

sudo yum install mail

E-mail verzenden met mailx

echo "This is the body of the email" | mailx -s "Test Email from Mailx" recipient@example.com

E-mail met bijlage

echo "Please find the attached document" | mailx -s "Email with Attachment" -A email.txt recipient@example.com

Conclusie

E-mails verzenden via de Linux-opdrachtregel is een krachtige manier om communicatie te automatiseren, servers te debuggen of configuraties te testen. Met tools zoals sendmail en mailx kun je zowel eenvoudige berichten als complexere e-mails met bijlagen beheren. Deze gids biedt duidelijke stappen om meteen aan de slag te gaan en je workflow te verbeteren.

Webmail-Dienste Linux-systeem
26.11.2025
Reading time: 5 min

Vergelijkbaar

Webmail-Dienste

Hoe je je eigen e-mailserver installeert

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.
27 October 2025 · 9 min to read

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