Mail mit Anhang mit Homeputer versenden

Betrieb der FHZ-Zentralen mit contronics homeputer Standard / homeputer Studio & WEB-Server

Moderator: Co-Administratoren

leknilk0815
Beiträge: 6693
Registriert: 19.03.2007, 08:21
Danksagung erhalten: 2 Mal

Mail mit Anhang mit Homeputer versenden

Beitrag von leknilk0815 » 04.09.2007, 18:26

Hallo zusammen,
leider ergab die Suche hierfür keinen Treffer.
Gibts eine Möglichkeit, mit HC eine Mail MIT Anhang (einfaches Textfile) zu versenden, und wie müsste der Befehl dazu aussehen?
Hintergrund ist, ich möchte das Mailprog von HC dazu missbrauchen, regelmäßig meine Provider- IP an einen Mailaccount zu senden, falls dyndns mal wieder nicht funktioniert. Die IP schreibe ich dazu in eine Text- Datei, welche dann gesendet werden soll.
Für eine Info wäre ich sehr dankbar!
Gruß - Toni

KS300 + Sonnendauer + Windrichtung, KS888, HM-CC-TC/HM-CC-VD, FHT80b, und etwas FS20-xx, Keymatic, EM1000, CCU2 und FHZ2000 sowie HP Studio, HPCL + Upgrade für FHZ

shen
Ehrenmitglied
Beiträge: 753
Registriert: 14.07.2006, 19:24
Wohnort: Wegberg
Kontaktdaten:

Beitrag von shen » 04.09.2007, 19:37

Mit den Onboardmitteln von Studio eher schwierig. Benutze das Kommandozeilentool "blat"*, damit hast Du alle Möglichkeiten des eMail-Versandes.

*) http://www.blat.net/

Oder alternativ die internen PHP-Funktionen. Ersteres ist aber, wenn Du PHP nicht kennst oder es noch nicht eingerichtet ist, sicherlich der einfachere Weg.
Gruß
Stefan Hendricks (ehemaliger HomeMatic-Forum Betreiber)

leknilk0815
Beiträge: 6693
Registriert: 19.03.2007, 08:21
Danksagung erhalten: 2 Mal

Beitrag von leknilk0815 » 04.09.2007, 20:15

Danke, werd ich probieren (schon mal gehört...), allerdings muß man sich erst mal in die Syntax "reinwurschtln"..., sollte aber gehen. Schade, das es mit der Studio nicht tut.
Gruß - Toni

KS300 + Sonnendauer + Windrichtung, KS888, HM-CC-TC/HM-CC-VD, FHT80b, und etwas FS20-xx, Keymatic, EM1000, CCU2 und FHZ2000 sowie HP Studio, HPCL + Upgrade für FHZ

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Beitrag von buempi » 05.09.2007, 10:41

Hallo Toni

Mit welchem Programm stellst du deine eigene (externe) IP-Adresse fest und schreibst sie in eine Text-Datei? Kann dieses Programm auch ein anderes starten?

Dann wäre es das einfachste, wenn du die IP-Adresse nicht in eine Text-Datei schreibst, sondern über ExecStudioCo.exe in eine Text-Variable von Homeputer. Anschliessend lässt du Homeputer vergleichen, ob sich der Inhalt der Variablen geändert hat. Wenn dies der Fall ist, wird eine Mail mit dem Inhalt der Text-Variablen versandt.

Kann dein Programm nicht ein anderes (ExecStudioCo) starten und ihm die IP-Adresse als Parameter übergeben, wird's komplizierter. Du musst eine Batchdatei mit folgendem Inhalt erstellen.

Code: Alles auswählen

REM Extrahiert die Zeile "IP-Adresse...." aus der Datei MeineIP.txt und schreibt sie
REM in die Datei NurIP.txt (Nur nötig, wenn MeineIP.txt mehr als 1 Zeile hat):
findstr IP-Adresse MeineIP.txt>NurIP.txt

REM Der Inhalt der Datei NurIP.txt wird in der Umgebungsvariablen IPAdr gespeichert
set /p IPAdr=<NurIP.txt

REM Die Umgebungsvariable IPAdr wird in die Zeichenvariable MailText von HS gespeichert
execstudioco sMailText="%IPAdr%"
Hoffe, es läuft auch bei dir! Schöner (und einfacher!) wäre es natürlich, wenn man aus HomeputerStudio Mails MIT Anhang versenden könnte.

ExecStudioCo.exe kannst du auf der Download-Seite von Contronics herunterladen.

Viele Grüsse
Bümpi

leknilk0815
Beiträge: 6693
Registriert: 19.03.2007, 08:21
Danksagung erhalten: 2 Mal

Beitrag von leknilk0815 » 05.09.2007, 15:30

Hallo Bümpi,
danke für die Antwort, ich denke, das hilft mir gut weiter.
Das IP- Programm ist 'ne exe und nennt sich printip.exe. Über eine Batch kann ich damit die IP in eine Umgebungsvariable bringen, diese dann nach Deiner Beschreibung über die ExecStudioCo.exe in eine Studio- Varible übertragen. Eine Prüfung, ob sich die IP geändert hat, werde ich vorher mit der Batch vornehmen. Ich muß mir das ganze mal heute abend ansehen, hoffe aber, das nun so hinzubekommen. Einziges Problem, welches ich vermutlich noch haben werde, ist der darauffolgende Mailversand, bisher wird das von Makros erledigt (bei einem bestimmten Ereignis), mehr habe ich da noch nicht ausprobiert. Mal sehen...
Gruß - Toni

KS300 + Sonnendauer + Windrichtung, KS888, HM-CC-TC/HM-CC-VD, FHT80b, und etwas FS20-xx, Keymatic, EM1000, CCU2 und FHZ2000 sowie HP Studio, HPCL + Upgrade für FHZ

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Beitrag von buempi » 05.09.2007, 16:23

Hallo Toni

Den Mailversand würde ich über ein Makro auslösen, das jede Minute abläuft. Der alte und der neue Werte der Zeichenvariable, welche die IP-Adresse enthält, werden verglichen. Wenn ungleich, erfolgt der Mailversand. Also:

wenn MailText<>AlteIP dann
sendemail(....)
AlteIP:=MailText
endewenn

Viele Grüsse
Bümpi

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Beitrag von buempi » 05.09.2007, 17:54

Halt! Noch einfacher: Du kannst aus der Batch-Datei heraus ExecStudioCo mit dem Parameter R für run aufrufen und damit das Makro, welches das Mail versenden soll, starten.

leknilk0815
Beiträge: 6693
Registriert: 19.03.2007, 08:21
Danksagung erhalten: 2 Mal

Beitrag von leknilk0815 » 05.09.2007, 20:00

Hi Bümpi,

ist in dem Schnipsel:

execstudioco sMailText="%IPAdr%"

der Begriff "sMailText" korrekt oder soll das "MailText" (ohne "s") heißen?

Und noch 'ne Frage:
ExecStudioCo mit dem Parameter R für run aufrufen - heißt das, daß ich nach der Variablenübergabe die ExecStudioCo noch mal mit Parameter "r" und dem Makronamen aufrufen muss?
Danke!
Gruß - Toni

KS300 + Sonnendauer + Windrichtung, KS888, HM-CC-TC/HM-CC-VD, FHT80b, und etwas FS20-xx, Keymatic, EM1000, CCU2 und FHZ2000 sowie HP Studio, HPCL + Upgrade für FHZ

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Beitrag von buempi » 05.09.2007, 20:22

Hallo Toni

Nein, das "s" ist zwingend nötig. Es bedeutet "set", also "setze Objekt MailText auf .....". Der Befehl bewirkt das gleiche, wie wenn du in einem Makro eingeben würdest:

MailText:="......."

In meinem früheren Beitrag habe ich übrigens MailText als Variable bezeichnet; ist aber etwas ungenau. Wenn es sich um eine Variable handelt, muss der Name des Objektes, in welchem sie vorkommt, vorangestellt werden. Also z.B. MailMakro.MailText.

Zur zweiten Frage: Gemäss Readme.txt, welches der ExecStudioCo beiliegt, kann man "R" und "S" im gleichen Aufruf verwenden, also z.B.

ExecStudioCo sMailMakro.MailText="%IPAdr%" rMailMakro

Ob dann aber wirklich die Variable zuerst geändert und dann das Makro ausgeführt wird, musst du ausprobieren. Meines Erachtens sicherer ist es, zwei Aufrufe zu machen:

ExecStudioCo sMailMakro.MailText="%IPAdr%"
ExecStudioCo rMailMakro

Viele Grüsse
Bümpi

leknilk0815
Beiträge: 6693
Registriert: 19.03.2007, 08:21
Danksagung erhalten: 2 Mal

Beitrag von leknilk0815 » 05.09.2007, 21:04

Hallo nochmal,
anscheinend bin ich zu dumm...

Ich hab jetzt folgende Daten:

Makro (IPTest):

wenn MailText<>AlteIP dann
sendemail("meinname@t-online.de,MailText")
AlteIP:=MailText
endewenn

Als Variablen zu dem Makro habe ich:
AlteIP
MailText
(beide vom Typ "Zeichen")

Batch (iptest.bat)

@echo off
For /F %%i in ('printip2') Do @Set IPAdr=%%i
@echo Deine IP Adresse ist: %IPAdr%

pause

ExecStudioCo sIPTest.MailText="%IPAdr%"
ExecStudioCo rIPTest

exit


Als Fehler bekomme ich in der DOS- Box folgendes zurück:

C:\Program Files\contronics\homeputer Studio>iptest.bat
Deine IP Adresse ist: 217.227.20.121
Press any key to continue . . .
Error executing sIPTest.MailText=217.227.20.121
Press any key to continue . . .

Kannst Du Dich noch einmal erbarmen...?
Gruß - Toni

KS300 + Sonnendauer + Windrichtung, KS888, HM-CC-TC/HM-CC-VD, FHT80b, und etwas FS20-xx, Keymatic, EM1000, CCU2 und FHZ2000 sowie HP Studio, HPCL + Upgrade für FHZ

Antworten

Zurück zu „homeputer Studio / Standard: allgemeine Fragen“