SMTP Überprüfungsskript (Auf Basis von Telnet 25)
Überprüfung des SMTP Dienstes mit Hilfe von einem Bash Skript
Gruss an das Forum
Folgende Situation:
Ich möchte Überprüfen ob der SMTP Dienst auf einem Server läuft. Hierzu möchte ich ein Skript entwickeln, das sich mit telnet auf Port 25 auf den Server einwählt, und von dort aus eine E-Mail verschickt bzw. mit Hilfe des Errorcodes feststellt ob dies Funktioniert oder nicht (Eigentlich reicht auch nur ein fehlerfreier Verbindungsauf- und abbau)
Ich habe im Internet Vorlagen zu einem Quick and Dirty Skript gefunden, und dieses versucht dementsprechend anzupassen, bzw. lauffähig zu bekommen.
Das Skript:
#!/bin/bash
(
sleep 2
echo "HELO mail.xyz.net"
sleep 2
echo "MAIL FROM:<test@xyz.net>"
sleep 2
echo "RCPT TO:<s.steffen@meinefirma.de>"
echo "DATA"
sleep 2
echo "test"
sleep 2
echo "."
)|telnet 192.168.0.200
Das Ergebnis:
Trying 192.168.0.200
Connected to 192.168.0.200
Escape character is '^]'.
220 mail.meinefirma.de AVKSMTP Server
250 mail.meinefirma.de Hello mail.xyz.net
250 <test@xyz.net> ... Sender Okay
250 <s.steffen@meinefirma.de> ... Recipient Okay
500 Command unrecognized
Connection closed by foreign host.
1. Problem Ich erhalte keine Vernünfigen Errorcode (0 wäre ja ganz wünschenswert)
2. Warum Übernimmt er den Befehl "DATA" nicht??? (wenn man es auf der Kommandozeile mit der Hand macht funktioniert es doch auch)
3. Das Skript is ja Quick & Dirty, eine Slow and Bright Variante würde ich auch probieren (Habe aber keinen Lösungsansatz)
EDIT: Das Problem mit dem "500 command unrecognized" ist abhänig von dem Mail-Server den man Nutzt (ABER WARUM???), meiner bringt jedenfalls diese Fehlermeldung und lässt sich so nicht Testen *grml*.
Das Zweck dient der Überprüfung unseres Mailgateways, da sich dieses immer wieder aufhängt. Später soll mit einer bedingten Verzweigung der Dienst gegebenenfalls der Dienst neugestartet werden.
Danke im Vorraus
MfG Simeon Steffen
Gruss an das Forum
Folgende Situation:
Ich möchte Überprüfen ob der SMTP Dienst auf einem Server läuft. Hierzu möchte ich ein Skript entwickeln, das sich mit telnet auf Port 25 auf den Server einwählt, und von dort aus eine E-Mail verschickt bzw. mit Hilfe des Errorcodes feststellt ob dies Funktioniert oder nicht (Eigentlich reicht auch nur ein fehlerfreier Verbindungsauf- und abbau)
Ich habe im Internet Vorlagen zu einem Quick and Dirty Skript gefunden, und dieses versucht dementsprechend anzupassen, bzw. lauffähig zu bekommen.
Das Skript:
#!/bin/bash
(
sleep 2
echo "HELO mail.xyz.net"
sleep 2
echo "MAIL FROM:<test@xyz.net>"
sleep 2
echo "RCPT TO:<s.steffen@meinefirma.de>"
echo "DATA"
sleep 2
echo "test"
sleep 2
echo "."
)|telnet 192.168.0.200
Das Ergebnis:
Trying 192.168.0.200
Connected to 192.168.0.200
Escape character is '^]'.
220 mail.meinefirma.de AVKSMTP Server
250 mail.meinefirma.de Hello mail.xyz.net
250 <test@xyz.net> ... Sender Okay
250 <s.steffen@meinefirma.de> ... Recipient Okay
500 Command unrecognized
Connection closed by foreign host.
1. Problem Ich erhalte keine Vernünfigen Errorcode (0 wäre ja ganz wünschenswert)
2. Warum Übernimmt er den Befehl "DATA" nicht??? (wenn man es auf der Kommandozeile mit der Hand macht funktioniert es doch auch)
3. Das Skript is ja Quick & Dirty, eine Slow and Bright Variante würde ich auch probieren (Habe aber keinen Lösungsansatz)
EDIT: Das Problem mit dem "500 command unrecognized" ist abhänig von dem Mail-Server den man Nutzt (ABER WARUM???), meiner bringt jedenfalls diese Fehlermeldung und lässt sich so nicht Testen *grml*.
Das Zweck dient der Überprüfung unseres Mailgateways, da sich dieses immer wieder aufhängt. Später soll mit einer bedingten Verzweigung der Dienst gegebenenfalls der Dienst neugestartet werden.
Danke im Vorraus
MfG Simeon Steffen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 38478
Url: https://administrator.de/forum/smtp-ueberpruefungsskript-auf-basis-von-telnet-25-38478.html
Ausgedruckt am: 22.12.2024 um 23:12 Uhr
3 Kommentare
Neuester Kommentar