Autor Thema: neues modul mailcheck  (Gelesen 81941 mal)

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16337
neues modul mailcheck
« am: 02 August 2013, 19:08:55 »
in diversen threads ist schon ein paar mal der wunsch aufgetaucht ein e-mail postfach mit fhem zu überwachen.

im attachment eine erste vermutlich noch mit vorsicht zu geniessende version:
define <device> mailcheck imap.xy.z.com x.y@z.com
also imap server und account. das imap password ist zur zeit noch im code in IMAP_password einzutragen.

der server muss imap idle unterstützen und es muss das Mail::IMAPClient perl modul installiert sein.

sobald eine neue mail im postfach ist wird ein reading vom typ 'Subject' erzeugt an das man ein entsprechendes notify hängen kann.

damit kann man z.b. auf geofencing mails reagieren.

gruss
  andre
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline det.

  • Sr. Member
  • ****
  • Beiträge: 936
Aw: neues modul mailcheck
« Antwort #1 am: 03 August 2013, 11:20:46 »
Hallo Andre,
Alle Achtung! So schnell und funktioniert auf Anhieb ohne Fehlermeldung im LOG und Telnetsitzung. Hatte gestern Abend schnell mit cpan die fehlenden Module nachinstalliert, danach Freitag Abend Besuchsprogramm - und jetzt hast Du schon das Modul fertig...
Da bekomm ich schlechtes Gewissen wegen dem anstehenden Jahresurlaub, Tests meinerseits also erst wieder in 2 Wochen möglich.
Erst mal vielen Dank und ein Bild zum Beweis, das es geht:
(siehe Anhang / see attachement)
l.g. det.

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 13023
  • Probleme sind auch keine Lösung.
Aw: neues modul mailcheck
« Antwort #2 am: 03 August 2013, 11:42:32 »
Funktioniert das Modul nur auf den Posteingang oder auf email-Eingang in jedem beliebigen Ordner der IMAP-Struktur?

edit: habs nun installiert und mit GMX getestet. Aber weiter als "Logged in" komme ich nicht - keine Anzeige von neuen emails. Mit gmail klappts.
Aus technischen Gründen befindet sich die Signatur auf der Rückseite dieses Beitrages.

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16337
Aw: neues modul mailcheck
« Antwort #3 am: 03 August 2013, 12:12:58 »
es sollte mit jedem postfach gehen. du musst aber die version verwenden die ich hier angehängt habe. du kannst dann das postfach als zusätzlichen parameter im define nach dem user angeben.

gmx kann ich leider nicht testen weil ich dort keinen imap fähigen account habe.

weiter als logged in geht auch nicht. danach würden dann die mails als reading/event kommen. aber eben nur bei neuen.


ich weiss das es mit gmail geht und mit icloud. und laut det. auch mit t-online. ich wollte es noch mit cyrus testen und dann auch ein paar debug ausgaben einbauen.

gruss
  andre
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 13023
  • Probleme sind auch keine Lösung.
Aw: neues modul mailcheck
« Antwort #4 am: 03 August 2013, 12:32:21 »
Hallo Andre,

mit Deiner eben angehängten Version hat gerade eben auch GMX funktioniert - ich werde das aber noch weiter testen.

Bei den Ordnern reden wir wohl etwas aneinander vorbei. Mir geht es nicht darum, einen bestimmten Ordner zur Überwachung festzulegen, sondern mehrere (bis alle) Ordner der IMAP Struktur überwachen zu lassen. Ich habe ca. 120 aktive IMAP Ordner in einem Account, und die wenigstens emails kommen bei mir im INBOX an. Eine manuelle Angabe von Ordnern (wenn mehrere möglich sein sollten) ist eigentlich nicht praktikabel. Man müsste sich an der Abo-Liste orientieren, die auf dem Server hinterlegt ist.

Aber der Ansatz an sich ist schon ganz prima!

Viele Grüße
Udo
Aus technischen Gründen befindet sich die Signatur auf der Rückseite dieses Beitrages.

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 13023
  • Probleme sind auch keine Lösung.
Aw: neues modul mailcheck
« Antwort #5 am: 03 August 2013, 12:37:10 »
nein, zu früh gefreut: Das mit GMX war wohl eher ein Zufallstreffer. In den allermeisten Fällen funktioniert es nicht.
Aus technischen Gründen befindet sich die Signatur auf der Rückseite dieses Beitrages.

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16337
Aw: neues modul mailcheck
« Antwort #6 am: 03 August 2013, 13:07:19 »
ich habe gerade gesehen das ich in der letzten version irgendwo noch ein blockieren drin habe. es geht nur die erste mail. ich weiss noch nicht genau woran es liegt.

mein hintergrund für das modul war z.b. die geofencing e-mails in fhem auszuwerten oder eine mail an fhem zu senden die dann z.b. irgendwo angezeigt wird.  deshalb bis jetzt genau eine mail box pro device.

ich muss mal schauen ob imap idle auch mit mehr als einem folder funktioniert. idle ist deshalb wichtig weil ich auf keinen fall pollen will.

was ich auch noch nicht überschauen kann ist ob es prinzipiell funktioniert ein postfach zu überwachen das gleichzeitig noch von anderen clients überwacht wird. ich weiss das normale mailclients damit schon probleme haben und es zu den seltsamsten effekten kommt.

ansonsten baue ich gerade ein das man sich z.b. die folder auf dem server auflisten kann.

und nicht vergessen: das war ein schnellschuss innerhalb einer stunde um zu sehen ob es prinzipiell funktioniert das ohne blockigcall und fork mit in der fhem event loop zu machen.

gruss
  andre
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline det.

  • Sr. Member
  • ****
  • Beiträge: 936
Aw: neues modul mailcheck
« Antwort #7 am: 03 August 2013, 13:39:25 »
Hallo Andre,
zumindest bei meinem T-Online Postfach funktioniert die Überwachung durch mehrere iDevice, Outlook und FHEM prima. Ich nutze noch deine erste Version. MMn wäre es ein guter Plan zu definieren, zu was das Modul dienen soll - z.B. Geofencing - Presence - zur Überbrückung der Zeit, bis WLAN + Bluetooth gemerkt haben das man daheim ist - oder was schalten bei Eingang einer Mail mit bestimmten Subjekt.
Wie immer wieder hier im Forum bewiesen, lässt sich im Gegensatz dazu die Funktionalität einzelner Module auch so aufbauschen, das es echt schwierig ist, sich da einzuarbeiten.
Ich würde es jedenfalls begrüßen, wenn Dich nicht der Ehrgeiz packt, in FHEM einen Clone von Outlook oder Thunderbird einzubauen.
l.g. det.

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16337
Aw: neues modul mailcheck
« Antwort #8 am: 03 August 2013, 13:44:13 »
die beide sind so schlecht und haben so viele macken die baue ich nicht nach :)

es soll auf jeden fall ein kleiner aber funktionierender funktionsumfang bleiben. dazu gehört im momment das das modul dazu dienen soll mails 'an' fhem zu senden. nicht primär beliebig viele postfächer zu überwachen. wenn sich letzteres einfach mit erstem verbinden lässt gerne.

gruss
   andre
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 13023
  • Probleme sind auch keine Lösung.
Aw: neues modul mailcheck
« Antwort #9 am: 03 August 2013, 13:54:15 »
Zitat von: justme1968 schrieb am Sa, 03 August 2013 13:07
was ich auch noch nicht überschauen kann ist ob es prinzipiell funktioniert ein postfach zu überwachen das gleichzeitig noch von anderen clients überwacht wird.


das hat vorhin - einmalig - auch mit GMX funktioniert. Deshalb hatte ich zuerst den Verdacht, dass es nur funktioniert hat, WEIL ein anderer Client (auf dem gleichen Rechner wie fhem) läuft.

Ok - langsam verstehe ich den Hintergrund Deiner Entwicklung. Dann ist natürlich auch die Anforderung nach mehreren Foldern hier nicht richtig platziert.

Viele Grüße
Udo
Aus technischen Gründen befindet sich die Signatur auf der Rückseite dieses Beitrages.

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16337
Aw: neues modul mailcheck
« Antwort #10 am: 03 August 2013, 14:13:50 »
ich glaube das hängt tatsächlich davon ab welcher der beiden clients zuerst benachrichtigt wird. danach ist die mail für den anderen nicht mehr 'neu' sondern nur noch ungesehen.

nach meiner erfahrung (und ja ich weiss es gibt viele gegenbeispiele) macht es in der regel viele seltsame probleme wenn man mit mehr als einem mail client gleichzeitig auf das gleiche postfach zugreift. das reicht von mails die plötzlich doppelt da sind über mails die sich nicht löschen lassen bis hin zu mails die als zombies nach dem verschieben in ein postfach wieder neu auftauchen.

aber wie gesagt: wenn sich das reine prüfen nach neuer mail auf mehrere postfächer ausdehnen lässt dann gerne. vielleicht reicht es schon optional nicht nach neu zu schauen sondern eben nach ungelesen.

gruss
  andre
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16337
Aw: neues modul mailcheck
« Antwort #11 am: 03 August 2013, 21:53:53 »
ein kleines update:

- zusätzlicher parameter <folder> im define um einen anderen folder als die INBOX abzufragen
- diverse deadlocks beseitigt
- reconnect nach 29 minuten idle timout
- attribut delete_message eingbaut das die mail nach dem reading/event löscht. das sollte man natürlich nur dann verwenden wenn das postfach für nichts anderes ist.

gruss
  andre
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16337
Aw: neues modul mailcheck
« Antwort #12 am: 06 August 2013, 17:05:38 »
ich habe das modul inzwischen ohne probleme über längere zeit laufen und auch reconnects funktionieren.

wenn sich noch der ein oder andere meldet bei dem es geht würde ich es mit diesem stand schon mal 'offiziell' einchecken.

gruss
  andre
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline Ralph

  • Full Member
  • ***
  • Beiträge: 363
Aw: neues modul mailcheck
« Antwort #13 am: 11 August 2013, 13:31:39 »
Moin, ich fürchte, ich stelle mich wieder zu doof an.

2 Fragen dazu:

Zitat von: justme1968 schrieb am Fr, 02 August 2013 19:08

der server muss imap idle unterstützen
Ünterstützt GMAIL das ?


Zitat von: justme1968 schrieb am Fr, 02 August 2013 19:08

und es muss das Mail::IMAPClient perl modul installiert sein.
Woher und Wie ?
FHEM auf FB 7170 mit 2 FHT, 5 CUL_WS, 5 CUL_FHTTK, 8 FS20

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16337
Aw: neues modul mailcheck
« Antwort #14 am: 11 August 2013, 14:12:55 »
ja. gmail geht.

per 'cpan install MAIL::IMAPClient'

gruss
  andre
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

 

decade-submarginal