Was ist Sendmail?
sendmail ist ein sehr einfaches und einfaches MTA (Mail Transfer Agent), das unter anderem das SMTP (Simple Mail Transfer Protocol) implementiert und zur Übertragung von E-Mails verwendet werden kann, typischerweise sogar auf den billigsten KVM-VPS unter Linux., Während es eine kommerzielle Version gibt, die „Sendmail“ genannt wird, ist die Sendmail, die wir in diesem How-to-Artikel behandeln, die UNIX-basierte Version davon, die mit so ziemlich jeder Linux-Distribution sowie *BSD (FreeBSD, OpenBSD und Varianten) geliefert wird. Die Verwendung des sendmail-Befehls ist möglicherweise die einfachste Möglichkeit, E-Mails über die Linux-Shell-CLI (Command Line Interface) zu senden, abgesehen von mailx, das in Verbindung mit sendmail verwendet werden kann, um das Senden und Empfangen von E-Mails über die Befehlszeile noch einfacher zu machen., Wie der Name bereits andeutet, kann Sendmail selbst nur E-Mails senden und empfangene nicht in POP-oder IMAP-Postfächern speichern.
Wo befindet Sich Sendmail Und Seine Konfigurationsdateien?
Die erste interessante Information, die wir zum Testen von Sendmail benötigen, ist der Pfad der Binärdatei, die ausgeführt wird, wenn wir den Befehl sendmail in unserer Befehlszeile ausgeben., Um das herauszufinden, verwenden wir den folgenden Befehl:
# which sendmail/usr/sbin/sendmail
Die obige Ausgabe bedeutet, dass der vollständige Pfad zur Binärdatei unseres sendmail-Befehls /usr/sbin/sendmail ist, was Sie für die folgenden Schritte beachten sollten.
Wenn Sie die Konfigurationsdateien von sendmail anpassen möchten, finden Sie diese normalerweise im Verzeichnis / etc/ mail / unter UNIX (FreeBSD, OpenBSD) und Linux (CentOS, Fedora, Debian, Ubuntu). Die Hauptkonfigurationsdatei von sendmail ist /etc/mail/sendmail.,cf, jedoch, das ist nicht Teil dieses Tutorials. Ein guter Ort für weitere Informationen ist die manuelle Seite von sendmail, die Sie durch Ausführen des Befehls man sendmail anzeigen können. Nun zum interessanten Teil dieses Sendmail – Befehlszeilen-Tutorials.
So testen Sie den Sendmail-Befehl unter Linux
Um schnell zu testen, ob der Sendmail – Befehl korrekt funktioniert, verwenden Sie ihn beispielsweise in Shell-Skripten, über die Befehlszeile oder sogar über PHP-Skripte (PHP unterstützt sendmail zum Senden von E-Mails von PHP-Skripten-Sie können den Sendmail-Pfad in Ihrem PHP festlegen.,ini), können Sie den folgenden Befehl auf Ihrem UNIX-oder Linux-System ausgeben:
echo " Betreff: sendmail test | / sendmail-v [email protected]
[email protected] ist offensichtlich die E-Mail-Adresse, an die die Test-E-Mail gesendet werden soll. Dieses Sendmail – Befehlszeilenbeispiel sendet eine leere E-Mail mit dem Betreff „sendmail test“ an [email protected] wenn der Test erfolgreich ist. Sie können auch längere E-Mails senden, die einen Betreff, einen Text und zusätzliche Header enthalten, wenn Sie möchten, aber nur um zu testen, ob Sendmail funktioniert, ist dies normalerweise nicht erforderlich. Dennoch, hier ist, wie Sie das tun können:
1.,) Erstellen Sie eine Datei namens mail.txt (oder alles, was Sie mögen) in ~ / mail.txt mit vim oder nano oder Ihrem bevorzugten Texteditor
2.) Fügen Sie den folgenden Inhalt ein, aber passen Sie natürlich die E-Mail-Adressen an, da dies nur sendmail-Befehlsbeispiele sind:
An: [email protected]: sendmail testen twoFrom: [email protected]
Und hier geht die e-mail-body, testen, testen, testen..
3.) Endlich senden wir die gerade erstellte E-Mail-Vorlage mit: sendmail-vt < ~ / mail.,txt
Das war ‚ s – Sie können sendmail jetzt über die Befehlszeile testen und sogar vollständige E-Mails einschließlich Header von der Linux/UNIX-Shell senden. Nachfolgend finden Sie ein Beispiel dafür, wie der einfache Sendmail-Test auf einem Live-System aussehen könnte:
Sendmail und Spam
Eine Sache, die ich hinzufügen möchte, ist, dass PHP und andere Skripte normalerweise auf die Sendmail-Binärdateien zugreifen können, Es kann auch verwendet werden, um Spam-und Phishing-Mails zu senden, und das kann auf freigegebenen Servern passieren, auf denen Konten durch ein veraltetes CMS oder schwache Passwörter kompromittiert wurden., Wenn Sie herausfinden möchten, welches Skript oder welcher POSIX-Benutzer den Spam mit sendmail sendet, können Sie den folgenden Befehl ausführen und genau auf die Ausgabe achten:
ps grep sendmail
Sendmail <
Während Sendmail auf gemeinsam genutzten oder unsicheren Systemen einige Risiken darstellen kann, ist es ein großartiges leichtes MTA, mit dem E-Mails von Shell-Skripten, PHP-Anwendungen oder sogar direkt über die Befehlszeile gesendet werden können., Es verhandelt auch automatisch STARTTLS für die verschlüsselte Übertragung der E-Mails, wenn der entfernte SMTP-Server dies unterstützt, was eine nützliche Sicherheitspraxis darstellt.