Mail mit Anhang mit Homeputer versenden
Moderator: Co-Administratoren
-
- Beiträge: 6693
- Registriert: 19.03.2007, 08:21
- Danksagung erhalten: 2 Mal
Hi,
ja, Studio ist gestartet, Ausführung ebenso. Die Studio kommt ohne Fehler hoch, wenn ich dann die Batch starte, kommt der beschriebene Fehler error executing sIPTest.Mailtest=217...
Edit: Ich sehe grade, es kommt eine Mail rein, allerdings steht im Betreff nicht die IP, sondern "MailText"
ich hab also irgendwas mit der Variablenübergabe vergurkt (Sch.. Syntax)
Vermutlich liegt der Fehler im Makro in der Zeile:
sendemail("meinname@t-online.de,MailText")
ja, Studio ist gestartet, Ausführung ebenso. Die Studio kommt ohne Fehler hoch, wenn ich dann die Batch starte, kommt der beschriebene Fehler error executing sIPTest.Mailtest=217...
Edit: Ich sehe grade, es kommt eine Mail rein, allerdings steht im Betreff nicht die IP, sondern "MailText"
ich hab also irgendwas mit der Variablenübergabe vergurkt (Sch.. Syntax)
Vermutlich liegt der Fehler im Makro in der Zeile:
sendemail("meinname@t-online.de,MailText")
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
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
-
- Beiträge: 6693
- Registriert: 19.03.2007, 08:21
- Danksagung erhalten: 2 Mal
Hallo leknilk0815
So:
In der Hilfe steht:
Gleich mal eine Frage.
Unteres Beispiel geht insofern, dass die Mail versendet und von Homeputer abgeholt aber nicht ausgeführt wird.
Warum kann ich nicht erkennen.
Ergebnis von Outlook abgeholt:
Aber warum steht da bei An: undisclosed-recipients:
Wenn ich über Outlook folgendes versende wird es auch ausgeführt:
Oder ne das sollte doch SendeMail schon machen oder?
Fragen über Fragen...
Nachtrag - so gehts:
SendeMail löst den in Variablen enthaltenen Umbruch << nicht auf.
Deshalb muß es dann halt so aussehen.
So:
gehts bei mir auch nicht.leknilk0815 hat geschrieben:sendemail("meinname@t-online.de,MailText")
In der Hilfe steht:
- SENDEMAIL (“Adresse,Betreff<<Zeile1<<Zeile2“)
Die erste Zeile wird als Betrefftext der e-mail eingesetzt, im folgenden Text können auch Zustände von Objekten und Werte von Sensoren übermittelt werden. Diese werden eingesetzt, indem der Name des Objekts in folgende Sonderzeichen gesetzt wird:
%< Objektname >
also ein Prozentzeichen, gefolgt vom kleiner-Zeichen, dann der Objektname (bzw. Variablenname) gefolgt vom grösser-Zeichen.
Bitte beachten Sie, dass im Betrefftext keine Werte ausgegeben werden können.
Code: Alles auswählen
sendemail("meinname@t-online.de,Betreff<<%<MailText>")
Gleich mal eine Frage.
Unteres Beispiel geht insofern, dass die Mail versendet und von Homeputer abgeholt aber nicht ausgeführt wird.
Code: Alles auswählen
MailSenden.MailText:="Starte:MailWohnzimmerDimmen <<Gell da staunst über das Lichterspiel, was ?"
sendemail("FS20@HomePuter.de,Nachricht an HomePuter<<%<MailSenden.MailText>")
Ergebnis von Outlook abgeholt:
- Betreff: Nachricht an HomePuter
An: undisclosed-recipients:- Starte:MailWohnzimmerDimmen <<Gell da staunst über das Lichterspiel, was ?
Aber warum steht da bei An: undisclosed-recipients:
Wenn ich über Outlook folgendes versende wird es auch ausgeführt:
- Betreff: Nachricht an HomePuter
An: FS20@HomePuter.de- Starte:MailWohnzimmerDimmen
Gell da staunst über das Lichterspiel, was ?
- Starte:MailWohnzimmerDimmen
Oder ne das sollte doch SendeMail schon machen oder?
Fragen über Fragen...
Nachtrag - so gehts:
Code: Alles auswählen
MailSenden.TextZeile1:="Starte:MailWohnzimmerDimmen"
MailSenden.TextZeile2:="Gell da staunst über das Lichterspiel, was ?"
sendemail("FS20@HomePuter.de,Nachricht an HomePuter<<%<MailSenden.TextZeile1><<%<MailSenden.TextZeile2>")
Deshalb muß es dann halt so aussehen.
greetings Zeuge
Konfig: Windows 7 Pro 64Bit, FHZ1350PC, ca. 40 Funkkomponenten, Wetterstation und Heizungssteuerung
Konfig: Windows 7 Pro 64Bit, FHZ1350PC, ca. 40 Funkkomponenten, Wetterstation und Heizungssteuerung
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Guten Morgen Toni
Sturm im Wasserglas!!!
Wir liessen uns beide von der Meldung "Error executing sIPTest.MailText=217.227.20.121" verwirren. Die IP wird nämlich trotzdem richtig in die Variable geschrieben. Und darauf kommt's ja an. Die Fehlermeldung erscheint übrigens unabhängig davon, ob man die IP aus der Umgebungsvariablen übergibt oder direkt mit "ExecStudioCo sIPTest.MailText=217.227.20.121".
Beim ersten Mal ist die Fehlermeldung bei mir nur deshalb nicht gekommen, weil ich bequemlichkeitshalber den Wert direkt ins Objekt IPTest (bei mir Typ Zeichen) geschrieben habe, und zu faul war, noch eine Variable MailText zu definieren.
Nach endloser Pröbelei hat das dann aber auch dazu geführt, dass ich den Bug in ExecStudioCo lokalisieren konnte: Schreibt man in eine Zeichen-VARIABLE, kommt die Fehlermeldung, schreibt man in ein Zeichen-OBJEKT, kommt sie nicht. In beiden Fällen ist das Ergebnis aber richtig.
Uff, uff, uff - Viel Wirbel um nichts.....
Jetzt noch das kleinere Problem: In der Sendemail-Zeile hast du einen kleinen Fehler. Sie muss richtig lauten:
sendemail("meinname@t-online.de,NeueIP<<%<MailText>")
Dann sollte nicht "MailText" sondern der Inhalt der Variablen gesendet werden. Ausprobieren konnte ich es allerdings nicht, weil ich bei mir in HS das E-Mail nicht konfiguriert habe.
Bin gespannt auf dein Feedback!
Schönen Tag
Bümpi
PS: Hab gerade gesehen, dass in der Zwischenzeit Zeuge bereits das Problem sendemail() ausführlich erörtert hat!
Sturm im Wasserglas!!!
Wir liessen uns beide von der Meldung "Error executing sIPTest.MailText=217.227.20.121" verwirren. Die IP wird nämlich trotzdem richtig in die Variable geschrieben. Und darauf kommt's ja an. Die Fehlermeldung erscheint übrigens unabhängig davon, ob man die IP aus der Umgebungsvariablen übergibt oder direkt mit "ExecStudioCo sIPTest.MailText=217.227.20.121".
Beim ersten Mal ist die Fehlermeldung bei mir nur deshalb nicht gekommen, weil ich bequemlichkeitshalber den Wert direkt ins Objekt IPTest (bei mir Typ Zeichen) geschrieben habe, und zu faul war, noch eine Variable MailText zu definieren.
Nach endloser Pröbelei hat das dann aber auch dazu geführt, dass ich den Bug in ExecStudioCo lokalisieren konnte: Schreibt man in eine Zeichen-VARIABLE, kommt die Fehlermeldung, schreibt man in ein Zeichen-OBJEKT, kommt sie nicht. In beiden Fällen ist das Ergebnis aber richtig.
Uff, uff, uff - Viel Wirbel um nichts.....
Jetzt noch das kleinere Problem: In der Sendemail-Zeile hast du einen kleinen Fehler. Sie muss richtig lauten:
sendemail("meinname@t-online.de,NeueIP<<%<MailText>")
Dann sollte nicht "MailText" sondern der Inhalt der Variablen gesendet werden. Ausprobieren konnte ich es allerdings nicht, weil ich bei mir in HS das E-Mail nicht konfiguriert habe.
Bin gespannt auf dein Feedback!
Schönen Tag
Bümpi
PS: Hab gerade gesehen, dass in der Zwischenzeit Zeuge bereits das Problem sendemail() ausführlich erörtert hat!
-
- Beiträge: 6693
- Registriert: 19.03.2007, 08:21
- Danksagung erhalten: 2 Mal
Hallo zusammen,
ich habe das Gemeinschaftsprojekt gerade in Betrieb genommen, ich denke, daß es jetzt funktioniert dank eurer Hilfe, zumindest die Tests waren erfolgreich.
Mal sehen, was passiert...
Hier noch mal der endgültige, funktionierende Code:
Makro (IPTest):
Starte Windows-Programm ("c:\Program Files\contronics\homeputer Studio\iptest.bat")
wenn MailText<>AlteIP dann
sendemail("meineadresse@t-online.de,NeueIP<<%<IPTest.MailText>")
endewenn
AlteIP:=MailText
Variablen (im Makro):
MailText - Typ Zeichen
AlteIP - Typ Zeichen
Batch (IPTest.bat):
@echo off
For /F %%i in ('printip2') Do @Set IPAdr=%%i
ExecStudioCo sIPTest.MailText=%IPAdr%
exit
Noch ein paar Erläuterungen zu aufgetretenen Fehlern:
sendemail("meineadresse@t-online.de,NeueIP<<%<IPTest.MailText>")
- hier muss unbedingt der Makroname mit angegeben werden (IPTest.MailText), sonst steht in der Mail: MailText.MailText
ExecStudioCo rIPTest
- darf, zumindest wenn man's so wie ich macht, auf keinen Fall enthalten sein, sonst läuft das Makro in eine Endlosschleife und öffnet DOS- Boxen ohne Ende... (versteh ich zwar nicht, ist aber so!).
Eine Frage noch zum Schluß: Wie (Wo) kann ich einstellen, daß das Makro in von MIR bestimmten Intervallen ausgeführt wird (z.B. alle 15 Minuten)?
In der Studio sehe ich nur die Standard- Vorgaben: 5s, jede Minute, jede Stunde, usw.
Ich hab's jetzt mal auf jede Stunde, aber 30min wären mir lieber.
Danke nochmal an Bümpi und Zeuge, klasse Hilfe!
ich habe das Gemeinschaftsprojekt gerade in Betrieb genommen, ich denke, daß es jetzt funktioniert dank eurer Hilfe, zumindest die Tests waren erfolgreich.
Mal sehen, was passiert...
Hier noch mal der endgültige, funktionierende Code:
Makro (IPTest):
Starte Windows-Programm ("c:\Program Files\contronics\homeputer Studio\iptest.bat")
wenn MailText<>AlteIP dann
sendemail("meineadresse@t-online.de,NeueIP<<%<IPTest.MailText>")
endewenn
AlteIP:=MailText
Variablen (im Makro):
MailText - Typ Zeichen
AlteIP - Typ Zeichen
Batch (IPTest.bat):
@echo off
For /F %%i in ('printip2') Do @Set IPAdr=%%i
ExecStudioCo sIPTest.MailText=%IPAdr%
exit
Noch ein paar Erläuterungen zu aufgetretenen Fehlern:
sendemail("meineadresse@t-online.de,NeueIP<<%<IPTest.MailText>")
- hier muss unbedingt der Makroname mit angegeben werden (IPTest.MailText), sonst steht in der Mail: MailText.MailText
ExecStudioCo rIPTest
- darf, zumindest wenn man's so wie ich macht, auf keinen Fall enthalten sein, sonst läuft das Makro in eine Endlosschleife und öffnet DOS- Boxen ohne Ende... (versteh ich zwar nicht, ist aber so!).
Eine Frage noch zum Schluß: Wie (Wo) kann ich einstellen, daß das Makro in von MIR bestimmten Intervallen ausgeführt wird (z.B. alle 15 Minuten)?
In der Studio sehe ich nur die Standard- Vorgaben: 5s, jede Minute, jede Stunde, usw.
Ich hab's jetzt mal auf jede Stunde, aber 30min wären mir lieber.
Danke nochmal an Bümpi und Zeuge, klasse Hilfe!
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
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
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Hallo Toni,
Toll, dass es endlich läuft! Die allseitige Mühe hat sich gelohnt. Ohne den kleinen Bug in ExecStudioCo, durch den wir uns ablenken liessen, wäre keine Nachtschicht draus geworden....
Funktioniert der Befehl "Starte Windows-Programm" tatsächlich? - Müsste es nicht startwin heissen?
Vor "wenn MailText<>AlteIP dann" würde ich noch ein warte("00:00:05") einfügen, damit dem Batch-Programm genügend Zeit bleibt, die Variable zu ändern.
Dass in sendemail der Variablen MailText der Objektname vorangestellt werden muss, stellt m.E. eine Inkonsequenz der Syntax in Homeputer dar; wenn man's aber mal weiss, spielt's auch keine Rolle.
Wenn du die Batch-Datei aus dem Makro heraus aufrufst, und in der Batch-Datei dann mit ExecStudioCo rIPTest wieder das Makro startest, ist doch klar, dass da eine Endlos-Schlaufe entsteht! Einer startet den andern! Also in diesem Fall natürlich kein erneutes Starten aus der Batch-Datei.
Die Abstufung der Intervalle für die Makroausführung ist wirklich etwas sparsam ausgefallen. Zwischen "Jede Minute" und "Jede Stunde" gibt's rein gar nichts. Du kannst dir aber wie folgt behelfen:
Ausführung jede Minute
wenn Uhrzeit =# "**:00:**" oder Uhrzeit =# "**:15:**" oder Uhrzeit =# "**:30:**" oder Uhrzeit =# "**:45:**" dann
** hier dein Makro
endewenn
Dann wird das Makro alle 15 Minuten ausgeführt.
Viele Grüsse und bis zum nächsten Mal
Bümpi
Toll, dass es endlich läuft! Die allseitige Mühe hat sich gelohnt. Ohne den kleinen Bug in ExecStudioCo, durch den wir uns ablenken liessen, wäre keine Nachtschicht draus geworden....
Funktioniert der Befehl "Starte Windows-Programm" tatsächlich? - Müsste es nicht startwin heissen?
Vor "wenn MailText<>AlteIP dann" würde ich noch ein warte("00:00:05") einfügen, damit dem Batch-Programm genügend Zeit bleibt, die Variable zu ändern.
Dass in sendemail der Variablen MailText der Objektname vorangestellt werden muss, stellt m.E. eine Inkonsequenz der Syntax in Homeputer dar; wenn man's aber mal weiss, spielt's auch keine Rolle.
Wenn du die Batch-Datei aus dem Makro heraus aufrufst, und in der Batch-Datei dann mit ExecStudioCo rIPTest wieder das Makro startest, ist doch klar, dass da eine Endlos-Schlaufe entsteht! Einer startet den andern! Also in diesem Fall natürlich kein erneutes Starten aus der Batch-Datei.
Die Abstufung der Intervalle für die Makroausführung ist wirklich etwas sparsam ausgefallen. Zwischen "Jede Minute" und "Jede Stunde" gibt's rein gar nichts. Du kannst dir aber wie folgt behelfen:
Ausführung jede Minute
wenn Uhrzeit =# "**:00:**" oder Uhrzeit =# "**:15:**" oder Uhrzeit =# "**:30:**" oder Uhrzeit =# "**:45:**" dann
** hier dein Makro
endewenn
Dann wird das Makro alle 15 Minuten ausgeführt.
Viele Grüsse und bis zum nächsten Mal
Bümpi
-
- Beiträge: 6693
- Registriert: 19.03.2007, 08:21
- Danksagung erhalten: 2 Mal
Re: Mail mit Anhang mit Homeputer versenden
Hallo zusammen,
ich habe im HP auch versucht eine Mail zu versenden, leider bisher ohne Erfolg...
Anbei was ich im Makro geschrieben habe:
sendemail("jan.xxxx@provider.com","xxxx","Test","xx")
Es kommt aber keine Fehlermeldung!?!?!?
Was mache ich verkehrt?
Gruß Jan
ich habe im HP auch versucht eine Mail zu versenden, leider bisher ohne Erfolg...
Anbei was ich im Makro geschrieben habe:
sendemail("jan.xxxx@provider.com","xxxx","Test","xx")
Es kommt aber keine Fehlermeldung!?!?!?
Was mache ich verkehrt?
Gruß Jan