• »echowhisky« ist der Autor dieses Themas

Beiträge: 21

Registrierungsdatum: 15. Januar 2008

Beruf: Pensionär

  • Nachricht senden

1

Montag, 16. Februar 2009, 10:14

Automatische Meldung per E-Mail

Hallo,

ich habe eine Log-Datei, die immer dann geöffnet wird, wenn eine neue Fehlermeldung eingetragen wird.
Wie kann ich es erreichen, daß mir automatisch eine Nachricht gesendet wird, wenn eine Datei geöffnet wird.
Dies könnte z.B. eine E-Mail mit der Nachricht "Neuer Fehlereintrag in Datei xy.log".
Geschehen sollte dies im Hintergrund, da auf dem Bildschirm die Log-Datei mit der Fehlermeldung sichtbar bleiben soll.

Gruß EW
Wetter ist eine Sache der Entwicklung und nicht der Vorhersage!

www.roxheim-wetter.de

Thuroc

Tuxianer

Beiträge: 1 909

Registrierungsdatum: 17. Oktober 2003

Wohnort: Köln

Beruf: Sysadmin Linux, Voice Engineer

  • Nachricht senden

2

Donnerstag, 19. Februar 2009, 17:55

Ähm ne is klar 8|

Wer gibt den Fehler aus? Welches OS? Irgendwas?

  • »echowhisky« ist der Autor dieses Themas

Beiträge: 21

Registrierungsdatum: 15. Januar 2008

Beruf: Pensionär

  • Nachricht senden

3

Freitag, 20. Februar 2009, 07:57

Es handelt sich um ein eigenes Programm, das Betriebssystem ist Windows 2000 und die Daten, die verarbeitet werden, kommen über die Serielle Schnittstelle (Com 2) in den Rechner.
Im Moment überwache ich damit meine Heizung (nur die Ausfallmeldung), einen Rauchmelder und einen Feuchtesensor.
Die Zustände der Sensoren werden im Abstand von 15 Min in eine Log-Datei geschrieben, sobald ein Wert von der Norm abweicht wird die Log-Datei geöffnet und auf dem Bildschirm zur Anzeige gebracht. Diesen Moment möchte ich weitermelden an meinen Labtop (E-Mail) oder mein Handy (SMS). Ich stelle mir vor, daß ein Vorformulierter Text entsprechend gesendet wird.

Gruß EW
Wetter ist eine Sache der Entwicklung und nicht der Vorhersage!

www.roxheim-wetter.de

Thuroc

Tuxianer

Beiträge: 1 909

Registrierungsdatum: 17. Oktober 2003

Wohnort: Köln

Beruf: Sysadmin Linux, Voice Engineer

  • Nachricht senden

4

Freitag, 20. Februar 2009, 11:59

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...

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Thuroc« (20. Februar 2009, 11:58)