OK, dann hast du mehrere Möglichkeiten. Entweder du besorgst dir für deine Programmiersprache (ich nehme an C/C++ oder Java) eine Mail-Lib und baust die Mail-Funktionen gleich in das Programm ein oder du rufst an der Stelle wo das Log-Fenster geöffnet wird eine Batch Datei auf. Dazu generierst du in deinem Programm vorher die entsprechenden Fehlercodes und übergibst diese an die Batch, bzw. an die Mail-Lib Klasse.
In der Batch selber verbindest du dich z.B. via telnet mit einem Mail oder SMS Server und übergibst deine Daten. Folgende Telnet-Befehle sind das Minimum an Informationen die man dazu benötigt einen SMTP-Server anzusprechen:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
//1. Mit dem Mail-Server Verbinden:
telnet smtp.Beispielserver.com 25
//2. Mal kurz Hallo sagen, damit der Server in aktiv-mode wechselt:
helo smtp.Beispielserver.com
//3. Angabe der Absender-Mail:
mail from: Absender@Beispieldomain.de
//4. Angabe der Empfänger-Mail:
rcpt to: Empfänger@Beispieldomain.de
//5. Dem Server mitteilen das nun Daten folgen:
data
//6. Betreff festlegen: (hier könnte bereits die erzeugte Fehlermeldung eingebunden werden)
Subject:Test Email
//7. Die eigentliche Nachricht:
Inhalt der Nachricht.
//8. Dem Server mitteilen das der Datenteil nun abgeschlossen ist: (ein einfacher Punkt)
.
//9. Die Serververbindung wieder trennen:
quit
|
Weitere Infos über Batch Dateien, smtp und telnet liefert google zu hauf. Ich würde dir aber schon aus Performancegründen zu der Mail-Lib raten.
Das ganze könntest du so weit treiben das du in der Mail gleich den aktuellen Status des gesamten Systems und die genauen Fehlerwerte erhälst. Wenn du die Daten von einem Bussystem wie z.B. C-Controll erhällst kannst du sogar den umgekehrten Weg wählen und eine E-Mail an deinen PC senden, welche eine Aktion im Bussystem auslöst. Das ist allerdings nochmals um einiges aufwändiger, da du die E-Mail regelmäßig abholen, den Betreff bzw. den Textinhalt auf Befehle durchsuchen und dann entsprechend reagieren musst. Aber auch das wäre alles via telnet und Batch machbar...