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.
De twee meest gebruikte tools — sendmail en mailx — zijn betrouwbare opties voor e-mailverzending op Linux en bieden diverse voordelen:
Traditionele e-mailsoftware kan traag en zwaar zijn. Deze tools zijn lichtgewicht en versturen e-mails razendsnel vanuit de terminal.
Ze integreren naadloos met shellscripts, cronjobs en monitoringtools. Hierdoor kunnen terugkerende acties automatisch meldingen versturen.
SMTP-configuraties worden eenvoudiger te debuggen. Deze tools geven inzicht in bezorgstatussen, logs en fouten.
Of het nu gaat om waarschuwingen, interne meldingen of geautomatiseerde rapporten: sendmail en mailx zijn veelzijdig inzetbaar.
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.
SMTP-servers zijn essentieel voor het verzenden van e-mails. Ze zijn onderverdeeld in:
Externe SMTP-servers
Lokale 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
Adres: smtp.gmail.com
Poort: 587 (TLS) of 465 (SSL)
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.
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
sudo apt install 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
sudo adduser linux
sudo adduser hostman
Hiermee maak je adressen zoals linux@office.local aan.
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.
sudo apt install sendmail
sudo yum install sendmail
sudo systemctl start sendmail
sudo systemctl enable sendmail
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
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
nano email.txt
Inhoud:
Subject: Test Email from Hostman
This is a test email sent using sendmail on Linux.
sendmail recipient@example.com < email.txt
mail
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
mailx is een eenvoudige maar efficiënte terminaltool voor e-mailbeheer. Het maakt deel uit van mailutils op de meeste distributies.
sudo apt install mailutils
sudo yum install mail
echo "This is the body of the email" | mailx -s "Test Email from Mailx" recipient@example.com
echo "Please find the attached document" | mailx -s "Email with Attachment" -A email.txt recipient@example.com
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.