SENDEMAIL
Syntax :
SENDEMAIL("Zieladresse","Betrefftext","Erste Zeile<<zweite Zeile<<dritte Zeile"<,"Anhang1;Anhang2">)
Mit dieser Anweisung können Mails versendet werden. Voraussetzung ist, dass im Netzwerk, in dem die Zentrale angeschlossen ist, eine Verbindung zum Internet besteht oder automatisch aufgebaut wird sobald die Zentrale eine Verbindungsanforderung zu einem Mail-Server schickt.
Als erster Parameter der Anweisung wird die Zieladresse angegeben, als zweiter Parameter folgt der Betrefftext, als dritter Parameter der Text der Mail. Wenn mehrere Zeilen Text gesendet werden sollen, so können die <<-Zeichen als Zeilenvorschub-Zeichen verwendet werden, der Text darf maximal 8000 Zeichen haben.
Diese ersten drei Parameter müssen angegeben werden, jeder Parameter muss gültige Daten enthalten und darf nicht leer sein.
Der vierte Parameter ist optional, es können mehrere Dateien getrennt durch Semikolon angegeben werden, die als Anhang mit der mail geschickt werden.
Wenn zu einer Datei kein Pfad angegeben wird, wird der Standardpfad benutzt, der im Hardwarefenster im Reiter Zentrale als Pfad für eigene Dateien auf der Zentrale angegeben ist.
Mit der Funktion MAILLOG, kann der Status der jeweils letzten fünf versendeten Mails überprüft werden.
Wenn Mail-Server, Absenderadresse oder einer der ersten drei Parameter nicht angegeben oder leer ist wird die Mail nicht versendet. Im Maillog erscheint dann der Fehler 999.
Im Rahmen neuer Sicherheitsmaßnahmen müssen bei vielen Providern Absenderadressen und Kontonamen gleich sein um Täuschungen durch falschen Absender zu verhindern. Wenn Mails nicht versendet werden kann das eine Ursache sein, die geprüft werden sollte.
Bitte beachten Sie, dass jedesmal wenn die Anweisung ausgeführt wird eine Mail gesendet wird. Die Programmierung muss so aufgebaut sein, dass nicht ungewollt viele Mails versendet werden. Werden Mails z.B. als SMS auf das Handy gesendet, können Fehler in der Programmierung, die ungewollt viele Mails erzeugen, zu erheblichen Kosten führen. Es müssen also Vorkehrungen getroffen werden, um ein zu häufiges Versenden von Mails zu verhindern.
Im folgenden Beispiel verhindert die Abfrage nach MaxTemp, dass bei konstanter Temperatur z.B. über einem Grenzwert dauernd gesendet würde.
Beispiel:
sendemail("meineAdresse@Mein-Provider.com","Temperaturprotokoll","Temperaturen von heute","Temperaturen.txt")
wenn TempASH550 > MaxTemp dann
Mailtext:="Info Treibhaus:<<Temperatur ist " + TempASH550 + " Grad"
sendemail("Meine.BueroAdresse@Mein-Provider.com","Temperaturinfo",Mailtext)
MaxTemp:=TempASH550 + 0.5
endewenn
Es wird jetzt immer nur dann gesendet, wenn die Temperatur um mehr als 0,5 Grad gestiegen ist.
Würde die Abfrage dagegen z.B. lauten
wenn TempASH550 > 25 dann
so würde bei jeder Makroausführung, bei der eine höhere Temperatur als 25 Grad erreicht ist eine Mail gesendet, also z.B. alle paar Minuten wenn ein Temperaturwert empfangen wird, oder gar alle 5 Sekunden, wenn das Makro in diesem Zeitintervall ausgeführt würde.
Eine andere Möglichkeit ist, das Versenden von Mails z.B. über "virtuelle" Objekte zu steuern. Im folgenden Beispiel würde z.B. nur jede halbe Stunde eine Mail verschickt:
wenn mailSchalter eingeschaltet und Schaltdauer(mailSchalter) > "00:30:00" dann
mailSchalter ausschalten
endewenn
wenn mailSchalter ausgeschaltet dann
sendemail("Meine.BueroAdresse@Mein-Provider.com","Wasseralarm","Wasser im Keller !")
mailSchalter einschalten
endewenn
Beachten Sie bitte, dass die Funktion SCHALTDAUER nur für Objekte, nicht aber für Variablen verwendet werden kann.
Eine weitere Möglichkeit ist z.B. die Zeiten zwischen zwei Mails über STARTUHR und STOPPUHR zu begrenzen.
wenn STOPPUHR(LetzteMail) > "00:30:00" dann
sendemail("Meine.BueroAdresse@Mein-Provider.com","Wasseralarm","Wasser im Keller !")
STARTUHR(LetzteMail)
endewenn
Bitte unbedingt beachten:
Testen Sie Ihre Programmierung und überprüfen ob nicht unbeabsichtigt viele Mails versendet werden. Beachten Sie, dass Mails Kosten verursachen können, z.B. durch Verbindungsentgelte oder SMS auf ein Handy.
|