Eintreffende Mails abfragen und per Sprachausgabe ausgeben

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

Moderator: Co-Administratoren

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

Re: Eintreffende Mails abfragen und per Sprachausgabe ausgeben

Beitrag von shen » 22.03.2008, 14:40

Nein, macht auch keinen Sinn, denn es könnte ja zwischen Deiner letzten Abfrage und dem Löschbefehl wieder eine neue eMail dazugekommen sein, die Du dann glatt ungesehen mit löschen würdest. Du wirst also eine Schleife programmieren müssen.
Gruß
Stefan Hendricks (ehemaliger HomeMatic-Forum Betreiber)

dragonius
Beiträge: 50
Registriert: 27.09.2009, 09:14

Re: Eintreffende Mails abfragen und per Sprachausgabe ausgeben

Beitrag von dragonius » 02.11.2009, 10:05

Ein prima Script! Funktioniert bei mir wunderbar. Nun hat sich allerdings doch ein Problem eingestellt:

Um mehrere Postfächer abzufragen habe ich das MAKRO ein zweites Mal angelegt und die Variablen natürlich entsprechend angepasst. Jedoch schmiert das identische MAKRO bei der Ausführung ab und die Visualisierung staratet neu. Ich konnte das in soweit eingrenzen, das der Fehler beim Benutzernamen liegt. Kann es sein das dieser eine bestimmte Länge nicht überschreiten darf?
Mit allen E-Mail Addis als Benutzername klappt alles, nur mit der fraglichen (gemeindepressewart@feuerwehr-elbmarsch.de) gehts schief. Diese ist mit Abstand die längste.

Gruß
Dragonius

Benutzeravatar
squeeezer
Beiträge: 545
Registriert: 17.07.2006, 00:00
Wohnort: Idstein

Re: Eintreffende Mails abfragen und per Sprachausgabe ausgeben

Beitrag von squeeezer » 14.11.2009, 01:31

hi dragonius ...

das kann natürlich gut sein ... die entwickler der php_imap.dll haben sicherlich nicht mit solch langen e-mail-adressen gerechnet ;) ... ggf. ist diese auf gewisse anzahl von zeichen begrenzt. wenn es mit kürzeren benutzernamen (= e-mail-adressen) funktioniert, wäre das vermutlich so ;) ... dann bleibt dir nix anderes übrig, als ein postfach mit kürzerem benutzernamen zu erstellen und die mails an gemeindepressewart@feuerwehr-elbmarsch.de nach dort hin weiterzuleiten ...
... squeeezer

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

Re: Eintreffende Mails abfragen und per Sprachausgabe ausgeben

Beitrag von shen » 14.11.2009, 01:49

Laut RFC* darf der lokale Teil (also vor dem @) 64 Zeichen lang sein, der öffentliche Teil (Domain, nach dem @) 255 Zeichen. Von dieser Grenze bist Du also weit entfernt. Ich bin mir eigentlich auch ziemlich sicher, dass PHP keine Probleme mit langen eMail-Adressen haben dürfte ...

*) RFC5321, 4.5.3.1.1. und 4.5.3.1.2., http://tools.ietf.org/html/rfc5321
Gruß
Stefan Hendricks (ehemaliger HomeMatic-Forum Betreiber)

Funkmaus
Beiträge: 96
Registriert: 17.02.2008, 11:59

Re: Eintreffende Mails abfragen und per Sprachausgabe ausgeben

Beitrag von Funkmaus » 16.11.2009, 21:20

Hallo liebe FS20 Gemeinde,

ich habe nur einen Wunsch zu Weihnachten. Ich möchte gerne die Anzahl meiner Mails in Homeputer sehen können und evtl auch gerne im zweiten Schritt die Sprachausgabe nutzen. Ich komme immer ein Fehlermeldung. Aber jetzt mal ganz von vorne: Ich möchte gerne die von Squeeezer vorgestellte Möglichkeit verwenden. Den PHP Teil habe ich installiert, funktioniert auch, da ich schon PHP nutze. Für das Thema Mail habe ich folgendes gemacht.

1. Die Datei php_imap.dll in mein Wurzelverzeichnis kopiert, in dem die Homeputer Dateien liegen.
2. Dann die Datei php.ini angepasst. Die php.ini liegt im gleichen Verzeichnis wie die php_imap.dll. Dann habe ich den Pfad, in dem die beiden Dateien liegen in die php.ini eigetragen. Der Pfad lautet bei mir c:\elv. Weiterhin habe ich das Simikolon for dem Eintrag extension=php_imap.dll gelöscht. An dieser Stelle noch mein Hinweis, dass meine Projekte und die zugehörigen Dateien in einem weiteren Unterverzeichnis liegen => C:\elv\Nachname.

Ich hoffe bis jetzt habe ich alle richtig gemacht.

Dann habe ich ein Objekt mit Namen var erstellt (Typ Zahl) In diesem Objekt habe ich die Variable anzahlMail (Typ Zahl) erstellt. Dieses Objekt habe ich dann in meiner Visualisierung sichbar gemacht. Hierdrin sollte ich die Gesamtzahl der Mails sehen.

Anschließend habe ich ein Makro mit dem Namen MakroMailAnzahl erstellt. Dieses Markro starte ich einmalig von dem Objekt *init mit dem Befehl starte(MakroMailAnzahl)
Anbei der Code von dem Makro MailAnzahl:

Code: Alles auswählen

**objektname: MakroMailAnzahl
** ausführungsintervall des makros: beim systemstart (z.b. im objekt *init)

<?
   // mailbox öffnen, die attribute "pop.gmx.net" = pop3-host, "name@gmx.net" = benutzername oder mail-adresse und "12345678" = passwort entsprechend anpassen
   $mbx = imap_open ("{pop3.strato.de:110/pop3}INBOX", "meine@adresse.net", "Passwort") or die("POP3 Connection kann nicht hergestellt werden");
   // es wird die gesamtzahl der vorliegenden nachrichten im pop3-postfach ermittelt und in die variable var.anzahlMail geschrieben
   $V_Var_anzahlMail = imap_num_msg($mbx);
   // schließen der mailbox und der pop3-verbindung
   imap_close($mbx);
?>

** auswerten eventueller fehler in ein logfile

wenn scriptoutput <> "" dann
   LOGFile := "PHP: " + scriptoutput
   aufrufen(LOGFile)
   scriptoutput := ""
endewenn
Wenn ich das Makro richtig verstehe, wird doch hier meine Mailbox geöffnet und die Anzahl in die Variable var.anzahlMail geschrieben. Ich habe meine Mailadresse bei Strato. Es handelt sich um einen pop3 Server mit dem Port 110. Die Geschichte mit dem LOGFile funktioniert soweit.

Ich bekomme aber folgende Fehlermeldung:
Script Error in Makro MakroMailAnzahl: Fatal error: Call to undefined function imap_open () in C:\elv\Nachname

Was mache ich nur falsch? Warum kommt bei der Fehlermeldung der Hinweis c:\elv\Nachname? In dem Verzeichnis befindet sich doch gar nicht die PHP.ini und die PHP_imap.dll.

Ich brauche eure Hilfe.

VIELEN DANK

Funkmaus
*******************************************
HM/ HMIP/ Addons/ 242 Geräte
Never touch a running system!!

Funkmaus
Beiträge: 96
Registriert: 17.02.2008, 11:59

Re: Eintreffende Mails abfragen und per Sprachausgabe ausgeben

Beitrag von Funkmaus » 18.11.2009, 20:50

Hallo zusammen,
kann mir keiner helfen?

Ich habe nochmals alles probiert. Ich kriege die Fehlermeldung nicht weg:

Script Error in Makro MakroMailAnzahl: Fatal error: Call to undefined function imap_open () in C:\elv\Nachname

Danke

Funkmaus
*******************************************
HM/ HMIP/ Addons/ 242 Geräte
Never touch a running system!!

tsa
Beiträge: 725
Registriert: 03.01.2008, 17:42
Hat sich bedankt: 3 Mal
Danksagung erhalten: 1 Mal

Re: Eintreffende Mails abfragen und per Sprachausgabe ausgeben

Beitrag von tsa » 19.11.2009, 09:49

Hallo Funkmaus
Funkmaus hat geschrieben:...Die Datei php_imap.dll in mein Wurzelverzeichnis kopiert, in dem die Homeputer Dateien liegen...
Es gibt viele Homeputer Dateien in unterschiedlichen Verzeichnissen... Welche meinst Du?
Funkmaus hat geschrieben:Die php.ini liegt im gleichen Verzeichnis wie die php_imap.dll
Das ist richtig, wenn die angesprochene DLL im richtigen Verzeichniss liegt...

ALSO:
1.) Die PHP-Dateien müssen im gleichen Verzeichnis wie die homeputerStudio.exe liegen!!!
Das betrifft zumindest folgende Dateien:
- php4app.dll (gehört zu Studio)
- php5ts.dll (der eigentliche Interpreter)
- die PHP.INI - wenn PHP-Extensions benutzt werden sollen (wie bei Dir)
- die eigentlichen Extension-DLL's (bei Dir also mindestens php_imap.dll

2.) Die Dateien MÜSSEN ALLE von der selben PHP-Version sein - normalerweise PHP Version 5.1

3.) Inhalt der PHP.INI:

Code: Alles auswählen

[PHP]
extension_dir = "./"
extension=php_gd2.dll
extension=php_imap.dll
Ich benutze diese beiden Extensions, deswegen stehen beide drin. Die Zeile mit der php_gd2.dll kannst Du notfalls löschen.
Sonst sollte NICHTS WEITER in der INI stehen!!! (es sei denn, Du BENÖTIGST ZWINGEND noch andere Einstellungen)

4.) Sieh zu, dass nicht noch eine andere (höhere) PHP-Version auf Deinem Rechner installiert ist, damit es keine Versionskonflikte gibt!
Wenn Du alles im PFAD der homeputerStudio.exe liegen hast, sollte das aber eigentlich nicht passieren.

Gruss
Thomas

Funkmaus
Beiträge: 96
Registriert: 17.02.2008, 11:59

Re: Eintreffende Mails abfragen und per Sprachausgabe ausgeben

Beitrag von Funkmaus » 19.11.2009, 11:51

Hallo Thomas,

danke, ich glaube es fehlt eine Datei bei mir......

Ich bin noch am Schaffe ! .....aber heute Abend gibt es nur ein Thema...

Ich melde mich wieder.

Danke

Funkmaus
*******************************************
HM/ HMIP/ Addons/ 242 Geräte
Never touch a running system!!

Funkmaus
Beiträge: 96
Registriert: 17.02.2008, 11:59

Re: Eintreffende Mails abfragen und per Sprachausgabe ausgeben

Beitrag von Funkmaus » 19.11.2009, 20:33

Hallo Thomas,

vielen , vielen Dank.............Bei mir ist heute Weihnachten. Es funktioniert.

Das Problem war die ini. Datei. Diese hatte ich in Wirklichkeit gar nicht richtig angelegt. Meine Datei war bereits vorhanden und hatte auch den Namen php. Es war nur krine INI.

Nochmals vielen DANK!!
Funkmaus
*******************************************
HM/ HMIP/ Addons/ 242 Geräte
Never touch a running system!!

Funkmaus
Beiträge: 96
Registriert: 17.02.2008, 11:59

Re: Eintreffende Mails abfragen und per Sprachausgabe ausgeben

Beitrag von Funkmaus » 06.12.2009, 12:54

Hallo liebes FS20 Forum,

ich hab mitlerweile meine Mailboxabfrage in die Visualisierung eingebaut. Alles Ok. Ich würde nun noch gerne die Mails über die Homeputersoftware mit PHP löschen.

Laut PHP muss ich wohl zuerst die Mails in der Mailbox makieren, mittels "imap_delete" und dann die markierte Mail mit "imap_expunge" löschen.

Leider schlagen meine Versuche fehl, da ich nicht der PHP Experte bin.

Kann mir jemand sein Makro zum Löschen senden oder HILFE geben???

Danke

Funkmaus
*******************************************
HM/ HMIP/ Addons/ 242 Geräte
Never touch a running system!!

Antworten

Zurück zu „homeputer Studio / Standard: Programmierbeispiele“