Nachrichtenversenden ohne Verwendung von E-Mail
Hallo,
ich habe das Problem das ich eine Meldung/Nachricht an einen Webserver/Ip-Adresse versenden will. jedoch kann ich dabei E-Mail nicht nutzen, weil SMTP nicht konfiguriert ist. SMTP kann auch nicht konfiguriert werden. Der Ablauf stellt sich folgendermaßen dar. Ein Programm (SpeedFan) meldet das die Temperatur zu heiß ist. und Startet ein skript. Dieses skript soll dann eine Nachricht an den Webserver senden, und der webserver soll sich dann per Remote ansehen was los ist und das Problem beheben oder den computer runterfahren. Jedoch wie bekomm ich eine meldung an den Webserver, ohne das ich den E-Mail Server verwenden kann. Als skriptsprache hab ich entweder an eine einfache Batch-Datei gedacht oder an autoit.
vielen dank für die Antworten.
mfg DerChirurg
ich habe das Problem das ich eine Meldung/Nachricht an einen Webserver/Ip-Adresse versenden will. jedoch kann ich dabei E-Mail nicht nutzen, weil SMTP nicht konfiguriert ist. SMTP kann auch nicht konfiguriert werden. Der Ablauf stellt sich folgendermaßen dar. Ein Programm (SpeedFan) meldet das die Temperatur zu heiß ist. und Startet ein skript. Dieses skript soll dann eine Nachricht an den Webserver senden, und der webserver soll sich dann per Remote ansehen was los ist und das Problem beheben oder den computer runterfahren. Jedoch wie bekomm ich eine meldung an den Webserver, ohne das ich den E-Mail Server verwenden kann. Als skriptsprache hab ich entweder an eine einfache Batch-Datei gedacht oder an autoit.
vielen dank für die Antworten.
mfg DerChirurg
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 91207
Url: https://administrator.de/contentid/91207
Ausgedruckt am: 15.11.2024 um 14:11 Uhr
11 Kommentare
Neuester Kommentar
der webserver soll sich dann per Remote ansehen was los ist und das Problem beheben oder den computer runterfahren
Das musst du mir jetzt aber mal erklären. Wie soll der Webserver das machen. Wenn überhaupt dann ja über irgendein Script, das er ausführt und dabei entsprechende Aktionen auslöst. Wenn das wirklich per Script erfolgt, dann stellt sich mir natürlich die Frage: Warum kann das auslösende Programm (SpeedFan) nicht gleich auf dem Server der das Problem hat das Prüf-/Fehlerbehebungsscript ausführen? Wozu der Umweg über einen Webserver?Manuel
Aha. Das ist doch schon ein nicht unerheblicher Unterschied. Nicht der Webserver an den die Meldung geht macht was per Script sondern ein Mitarbeiter der an diesem Server erreichbar ist macht manuell was.
Dann könntest du im einfachsten Fall mit net send was hinbekommen. Alternativ könntest du ja auch den Webserver eine eMail verschicken lassen. Dort ist in den meisten Fällen ja ein entsprechender Dienst gestartet. Dazu würde ich dann ein PHP-Script auf dem Webserver ablegen, dass die Mail mit entsprechendem Text verschickt.
Der fehleranfällige Server braucht dann einfach nur mit wget dieses Script über HTTP auszuführen und schon geht die Mail auf den Weg.
Manuel
Dann könntest du im einfachsten Fall mit net send was hinbekommen. Alternativ könntest du ja auch den Webserver eine eMail verschicken lassen. Dort ist in den meisten Fällen ja ein entsprechender Dienst gestartet. Dazu würde ich dann ein PHP-Script auf dem Webserver ablegen, dass die Mail mit entsprechendem Text verschickt.
Der fehleranfällige Server braucht dann einfach nur mit wget dieses Script über HTTP auszuführen und schon geht die Mail auf den Weg.
Manuel
Also zuerst schreibst du dir in PHP ein Script das eine Mail verschickt. Die Funktion mail() ist dabei dein Freund. Vorraussetzung ist natürlich, dass der Webserver PHP kann.
Dieses Script rufst du dann über wget auf. Dabei passiert das gleiche wie wenn du das Script mit einem Browser aufrufst.
Da in dem Script steht es soll über den Webserver eine Mail verschicken macht es das auch. Computer sind ja halt doof und machen genau das was man ihnen sagt.
Wenn du jetzt noch irgendwelche Fehlerangaben an das Script übermitteln willst, dann machst du das als GET indem du die Werte an die URL anhängst, im Script entsprechend auswertest und weiterverarbeitest.
Hier ein kleines Beispiel, wie ich das bei mir mache. Meine Server überwachen sich per Script selbst und melden genau auf diesem Weg alle Auffälligkeiten an den Webserver. Dort wird das alles in einer DB gespeichert und je Fehler auch eine Mail verschickt.
Zugegeben: Das ist vielleicht etwas tricky, aber dafür recht universell einsetzbar.
Ich hab jetzt mal alles raus gelassen, was für das Versenden der Mail nicht wichtig ist. Dieses Script legst du auf den Webserver und lässt es dort aufrufen.
Die URL lautet dann etwa
Manuel
Dieses Script rufst du dann über wget auf. Dabei passiert das gleiche wie wenn du das Script mit einem Browser aufrufst.
Da in dem Script steht es soll über den Webserver eine Mail verschicken macht es das auch. Computer sind ja halt doof und machen genau das was man ihnen sagt.
Wenn du jetzt noch irgendwelche Fehlerangaben an das Script übermitteln willst, dann machst du das als GET indem du die Werte an die URL anhängst, im Script entsprechend auswertest und weiterverarbeitest.
Hier ein kleines Beispiel, wie ich das bei mir mache. Meine Server überwachen sich per Script selbst und melden genau auf diesem Weg alle Auffälligkeiten an den Webserver. Dort wird das alles in einer DB gespeichert und je Fehler auch eine Mail verschickt.
Zugegeben: Das ist vielleicht etwas tricky, aber dafür recht universell einsetzbar.
<?PHP
if (isset($conf_prob));
if (isset($conf_subj));
if (isset($conf_desc));
$entry_admin = "Auto-Eintrag";
$entry_ipadr = $_SERVER['REMOTE_ADDR'];
$entry_time = time();
$conf_date = date("d.m.Y");
$conf_time = date("H:i");
//To
$empfaenger = "mitarbeiter@domain.tld";
//Name der Absenders
$entry_adminmail = "no.reply@domain.tld";
//Reply-Adresse
$reply = $entry_adminmail;
//Betreffzeile
$subject = "FEHLER > $conf_subj";
//Inhalt der Mail
$message = "<html>
<head>
<title>Fehler:</title>
</head>
<body>
<p><font face='Verdana,Tahoma,Arial,Helvetica,Sans-serif,sans-serif' size='-1'>
<br>Neue Problembehebung von $entry_admin am $conf_date um $conf_time.
<br>
<br><b>Problem:</b>
<br>$conf_prob
<br>
<br><b>Betreff des Problems:</b>
<br>$conf_subj
<br>
<br><b>Beschreibung des Problems:</b>
<br>$conf_desc
<br>
<br><b>Absenderkennung:</b>
<br>$entry_admin @ $entry_ipadr ($entry_time)
</p>
</body>
</html>
";
//Header zusammenbauen
$headers .= "From:" . $entry_adminmail . "\n\r";
$headers .= "Reply-To:" . $entry_adminmail . "\n\r";
$headers .= "X-Mailer: PHP/" . phpversion() . "\n\r";
$headers .= "X-Sender-IP: " . $REMOTE_ADDR . "\n\r";
$headers .= "Content-type: text/html\n\r";
//Mail verschicken
mail($empfaenger, $subject, $message, $headers);
?>
Die URL lautet dann etwa
webserver/fehlermail.php?conf_prob=Übertemperatur am Server-1&conf_subj=ACHTUNG: Server meldet Fehler&conf_desc=Server-1 hat seit 10 Min eine zu hohe CPU-Temperatur
Das ist jetzt nur ein Beispiel, das natürlich auf deine Zwecke angepasst werden muss.Manuel
Hi,
Na dann mach das doch gleich mit blat.exe (http://www.blat.net) direkt aus SpeedFan heraus.
lg,
Slainte
oder dieser aufbau ist auch möglich
computer - helpdesk mitarbeiter
computer - helpdesk mitarbeiter
Na dann mach das doch gleich mit blat.exe (http://www.blat.net) direkt aus SpeedFan heraus.
lg,
Slainte