Wat Is Sendmail?
sendmail is een zeer eenvoudige MTA (Mail Transfer Agent), die onder andere de SMTP (Simple Mail Transfer Protocol) implementeert en kan worden gebruikt om e-mails te verzenden, meestal zelfs op de goedkoopste KVM VPS die Linux draaien., Hoewel er een commerciële versie beschikbaar is die “Sendmail” heet, is de sendmail die we behandelen in dit how-to artikel de UNIX-gebaseerde versie ervan, die wordt geleverd met vrijwel elke Linux distributie evenals *BSD (FreeBSD, OpenBSD en varianten). Het gebruik van het sendmail commando is misschien wel de makkelijkste manier om e-mails te versturen via Linux shell CLI (Command Line Interface), afgezien van mailx, die gebruikt kan worden in combinatie met sendmail om het nog makkelijker te maken om e-mails te versturen en te ontvangen vanaf de command line., Zoals de naam al doet vermoeden, kan sendmail zelf alleen e-mails verzenden en geen ontvangen e-mails opslaan in POP-of IMAP-mailboxen.
waar bevinden zich Sendmail en zijn configuratiebestanden?
de eerste interessante informatie die we nodig hebben voor het testen van sendmail is het pad van het binaire bestand dat wordt uitgevoerd als we het commando sendmail op onze opdrachtregel geven., Om dat uit te zoeken, zullen we het commando which gebruiken zoals hieronder getoond:
# which sendmail/usr/sbin/sendmail
de bovenstaande uitvoer betekent dat het volledige pad naar het binaire bestand van ons sendmail Commando /usr/sbin/sendmail is, wat je moet noteren voor de stappen hieronder.
als u de configuratiebestanden van sendmail wilt aanpassen, kunt u ze meestal vinden in de directory /etc/mail/ op UNIX (FreeBSD, OpenBSD) en Linux (CentOS, Fedora, Debian, Ubuntu) systemen. Het belangrijkste configuratiebestand van sendmail is /etc/mail / sendmail.,cf, maar aanpassen dat is geen onderdeel van deze tutorial. Een goede plek voor meer informatie is de hulppagina van sendmail, die je kunt bekijken door het commando man sendmail uit te voeren. Nu naar het interessante deel van deze sendmail command line tutorial.
hoe Test je het Sendmail commando op Linux
om snel te testen of het sendmail Commando correct werkt om het vervolgens te gebruiken in bijvoorbeeld shell scripts, via de commandoregel of zelfs vanuit PHP scripts (PHP ondersteunt sendmail om e – mails te verzenden vanuit PHP scripts-je kunt het sendmail pad in je php instellen.,ini), kunt u het onderstaande commando op uw UNIX of Linux systeem uitvoeren:
echo "Subject: sendmail test" | sendmail-v [email protected]
[email protected] is uiteraard het e-mailadres waar u de test e-mail naartoe wilt sturen. Dit sendmail commando regel voorbeeld zal een lege e-mail sturen met als onderwerp “sendmail test” naar [email protected] als de test succesvol is. Je kunt ook langere e-mails versturen met een onderwerp, body en extra headers als je wilt, maar alleen om te testen of sendmail werkt, dat is meestal niet nodig. Toch is hier hoe je dat kunt doen:
1.,) Maak een bestand aan met de naam mail.txt (of wat je maar wilt) in ~/mail.txt met vim of nano of de gewenste teksteditor
2.) Plak de volgende inhoud erin, maar natuurlijk pas je de e-mailadressen aan, want dat zijn slechts sendmail Commando voorbeelden:
naar: [email protected]: sendmail test twoFrom: [email protected]
en hier gaat de e-mail body, test test test..
3.) Eindelijk sturen we de e-mail template die we zojuist gemaakt hebben met: sendmail-vt < ~/mail.,txt
dat is het – je kunt nu sendmail testen vanaf de opdrachtregel en zelfs volledige e-mails versturen inclusief headers van Linux/UNIX shell. Hieronder is een voorbeeld van hoe de eenvoudige sendmail test eruit zou kunnen zien op een live systeem:
Sendmail en Spam
een ding dat Ik wil toevoegen is dat vanwege het feit dat PHP en andere scripts meestal toegang hebben tot de sendmail binaries, het ook kan worden gebruikt om spam en phishing mails te versturen en dat is wat er kan gebeuren op gedeelde servers waar accounts gecompromitteerd zijn door een verouderde CMS of zwakke wachtwoorden., Als u wilt weten welk script of POSIX gebruiker de spam verstuurt met sendmail, kunt u het onderstaande commando uitvoeren en de uitvoer goed in de gaten houden:
PS faux | grep sendmail
Sendmail conclusie
hoewel sendmail een paar risico ‘ s kan opleveren op gedeelde of onveilige systemen, is het een geweldige lichtgewicht MTA die gebruikt kan worden om e-mails te versturen vanuit shell scripts, PHP applicaties of zelfs direct op de commandoregel., Het onderhandelt ook automatisch over STARTTLS voor versleutelde transmissie van de e-mails als de externe SMTP-server het ondersteunt, wat een nuttige beveiligingspraktijk is.