SENDEMAIL
 
Syntax :
SENDEMAIL("Zieladresse","Betrefftext","Erste Zeile<<zweite Zeile<<dritte Zeile"<,"Anhang1;Anhang2">)
 
Mit dieser Anweisung können e-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 email. Wenn mehrere Zeilen Text gesendet werden sollen, so können die <<-Zeichen als Zeilenvorschub-Zeichen verwendet werden.
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 emails ü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.
 
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 emails 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 emails 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.
 
 
 
 

Created with help of DrExplain