Nicht selten benötigt ein Admin Telnet oder Swaks um den Mailserver zu testen, ohne gleich einen E-Mail Client unnötig einzurichten. Eine Übersicht der wichtigsten Befehle möchte ich euch in diesem Tutorial aufführen.
Zuerst installieren wir die benötigten Tools telnet, openssl und swaks.
Debian
apt-get install telnet openssl swaks
CentOS
yum install telnet openssl swaks
POP3
Telnet Verbindung (User und Passwort im Klartext):
# telnet example.org 110
Trying xxx.xxx.xx.xxx...
Connected to example.org.
Escape character is '^]'.
+OK Dovecot ready.
user example@example.org
+OK
pass meinpasswort
+OK Logged in.
list
+OK 1 messages:
1 996
.
quit
+OK Logging out.
Connection closed by foreign host.
POP3 Befehle:
- „list“ – E-Mails inkl. Größe anzeigen
- „stat“ – Anzahl aller Nachrichten sowie Größe der Mailbox ausgeben
- „top 1 2“ – Den Header sowie die ersten zwei Zeilen von der ersten Nachricht ausgeben
- „retr 1“ – Die erste E-Mail komplett anzeigen
- „dele 1“ – Die erste E-Mail zum löschen markieren
- „rset“ – Die „löschen“ Markierung zurücksetzen
- „quit“ – Beenden der Session
IMAP
Telnet Verbindung:
# telnet example.org 143
OpenSSL Verbindung:
# openssl s_client -connect example.org:993
Login:
. login example@example.org meinpasswort
Alle Ordner anzeigen:
. list "" "*"
Logout:
. logout
SMTP
Telnet Verbindung:
# telnet example.org 25
EHLO:
EHLO exampleserver.org
AUTH:
AUTH LOGIN
Der Mailserver gibt 334 VXNlcm5hbWU6 zurück, dies ist eine Base64 kodierte Zeichenfolge die nach dem Benutzernamen fragt. Den Benutzernamen generieren wir wie folgt:
# perl -MMIME::Base64 -e 'print encode_base64("example@example.org");'
ZXhhbXBsZS5vcmc==
Jetzt fragt der Mailserver mit 334 UGFzc3dvcmQ6 nach dem Base64 kodierten Passwort. Das Passwort erstellen wir genauso:
# perl -MMIME::Base64 -e 'print encode_base64("meinpasswort");'
bWVpbnBhc3N3b3J0
E-Mail verschicken:
mail from: <example@example.org>;
rcpt to: <empfaenger@empfaenger.org>;
data
Subject: Testmail
Dies ist eine Testmail
.
quit
Swaks
Eine Testmail lässt sich einfacher mit dem Tool namens Swaks versenden.
Einfache Testmail versenden:
# swaks -f example@example.org -t empfaenger@empfaenger.org
Testmail über einen Server mit Authentifizierung versenden:
(-s Server | -f From | -t To | -au Login-Benutzer | -ap Login-Passwort)
# swaks -s example.org -f example@example.org -t empfaenger@empfaenger.org -au example@example.org -ap meinpasswort
Spam Testmail versenden:
# swaks -f example@example.org -t empfaenger@empfaenger.org --header-X-Spamtest "XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X"