NEWS
Test Adapter ioBroker.imap latest/stable
-
Hallo,
bin mir nicht ganz sicher, ob ich hier richtig bin...
Aber ich habe das kleine Problem, dass der Adapter bei Abrufen einer Email folgenden Fehler auslöst:
Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
unhandled promise rejection: Cannot read properties of undefined (reading 'seqno')
TypeError: Cannot read properties of undefined (reading 'seqno') at Imap.updatejson (/opt/iobroker/node_modules/iobroker.imap/main.js:638:49) at EventEmitter.<anonymous> (/opt/iobroker/node_modules/iobroker.imap/lib/imap_event.js:600:30) at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Cannot read properties of undefined (reading 'seqno')Danach wird er neu gestartet und wartet auf den Eingang einer neuen Mail
-
@meinhardrisch
Sorry, nehme alles zurück... es fehlte wohl das Symbol ... -
@meinhardrisch sagte in Test Adapter ioBroker.imap latest/stable:
@meinhardrisch
Sorry, nehme alles zurück... es fehlte wohl das Symbol ...Dann ist ja alles gut. Du bist hier auch richtig. Auch wenn du was vergessen hast, darf der Adapter nicht crashen sondern sollte mit Fehleingaben umgehen können.
Was genau hast du gemacht?Gruß//Lucky
-
Klasse Adapter, hab ihn seit dem Testrelease stabil am laufen.
Jedoch nur sehr begrenzt, Betreff oder Nachricht triggert nur bestimmte Aktionen.Nun würde ich gerne Nachrichten löschen (nicht nur zu gelöscht verschieben) können.
Geht das? Am liebsten über blockly und die id der Mail. -
Nun würde ich gerne Nachrichten löschen (nicht nur zu gelöscht verschieben) können.
Geht das? Am liebsten über blockly und die id der Mail.Es tut mir Leid aber über imap kann man keine Mails löschen. Du kannst diese nur in den Mülleimer verschieben.
Gruß//Lucky
-
@david-g Muss meine Aussage zurückziehen. Man könnte per Adapter einen neuen Ordner erstellen, dann dort die gewünschten Mails hineinschieben und dann den Ordner löschen.
Wäre das OK?
Gruß//Lucky
-
Wäre zumindest ein Workarround.
Mal schauen ob ich das im Blockly schaffe.Ist das evtl eine Möglichkeit die Funktion "Mail löschen" in den Adapter einzubauen die im Hintergrund so arbeitet?
-
@david-g Du kannst gerne mal von GIT laden.
Zum anlegen oder löschen muss ZWINGEND die inbox + delimiter voran setzen. Siehe Beispiel im Objekt imap.0.xxx.remote.change_folder
"states": { "INBOX": "INBOX", "INBOX.Spam": "INBOX.Spam", "INBOX.Drafts": "INBOX.Drafts", "INBOX.Sent": "INBOX.Sent", "INBOX.Trash": "INBOX.Trash", }
<inbox><delimiter>Spam
Um den Ordner imap anzulegen muss ich also INBOX.imap eintragen.
Neuen Ordner anlegen:
.remote.mailbox_folder_createDann mit move die gewünschten Mails dort einfügen und damit wieder löschen.
.remote.mailbox_folder_deleteGruß//Lucky
-
Cool,
das klappt wunderbar.
Ich habe ein Postfach was als "trigger" für manche Scripte dient von Geräten die Mails senden können und keine http Befehle senden können.
Jetzt kann man den Kram direkt löschen. -
@lucky_esa sagte in Test Adapter ioBroker.imap latest/stable:
Es tut mir Leid aber über imap kann man keine Mails löschen. Du kannst diese nur in den Mülleimer verschieben.
Ich habe eben folgendes gelesen im Bezug auf imap:
1. Sie löschen eine E-Mail → Die E-Mail wird in den Papierkorb verschoben. 2. Sie leeren den Papierkorb → Die E-Mail wird als gelöscht markiert (\Deleted). 3. Der Mail-Client führt den Expunge-Befehl aus → Die E-Mail wird endgültig vom Server entfernt. Unterschiedliche Implementierungen Einige Mail-Clients wie Gmail nutzen eine spezielle Implementierung: Hier wird das Verschieben in den Papierkorb direkt als Löschaktion betrachtet. Wird der Papierkorb geleert, ist die E-Mail sofort weg. Das Löschen von E-Mails im Papierkorb funktioniert, weil der Mail-Client in der Regel den Expunge-Befehl ausführt. Ohne diesen Befehl bliebe die E-Mail technisch noch vorhanden, wäre aber als gelöscht markiert und für den Benutzer unsichtbar.
Kann man diesen "Expunge-Befehl" nicht irgewie ausführen?
Evtl wäre das eine sauberer Lösung. -
@david-g Du kannst die Mails direkt in den Papierkorb verschieben
[Google Mail]/PapierkorbVorher noch den Flag Delete mit imap.0.xxx_gmail_com.remote.flag setzen
Gruß//Lucky
-
Der Weg wäre doch dann viel "simpler" als das mit dem Ordner anlegen und diesen wieder zu löschen oder?
Wenn er auf diesem Weg auch die Mail löscht.
P. S.
Muss das verschieben nach dem Flaf noch sein? Wenn ich Deleted setze finde ich die Mail mit keinem Mailclient wieder. -
Muss das verschieben nach dem Flaf noch sein? Wenn ich Deleted setze finde ich die Mail mit keinem Mailclient wieder.
Wenn die Mail weg ist dann funktioniert das löschen wohl so.
Gruß//Lucky