Avant toute chose merci de (re)prendre connaissance de la charte et de la respecter.
Pour résumer :
- Avant de poser une question, je cherche si la réponse existe
- Je suis poli, courtois et je respecte tout un chacun sur le forum
- Si un post m'agace : je m'en éloigne plutôt que de répondre d'une façon qui pourrait être mal interprétée


Il n'est jamais du luxe que de rappeler des choses simples :
Courtoisie, amabilité, politesse et bonne humeur sont les maîtres mots pour un forum sympathique, bienveillant et accueillant :)

Le groupe des Helpers est present pour vous aidez, n'hésitez pas à poser des questions ;)

Toute la communauté vous remercie

/!\ L’ancien forum passera en lecture seule en janvier 2020 (Si community a bien pris le relais) puis nous le fermerons définitivement en janvier 2021./!\
Merci de vous rendre sur https://community.jeedom.com maintenant pour vos prochains postes ;)

[Plugin Tiers][Sujet Principal] Mail listener : watcher IMAP

Pour échanger sur les plugins classés en catégorie "Communication"
Christophe64
Timide
Messages : 43
Inscription : 20 oct. 2017, 10:36

Re: [Plugin Tiers][Sujet Principal] Mail listener : watcher IMAP

Message par Christophe64 » 19 nov. 2017, 12:08

Bonjour,

après quelques essais, le démon s’arrête si le mail contient une pièce jointe et le mail n'est pas traité.
est ce que vous avez la même chose chez vous ?

peut on tester le status du démon dans un scenario par exemple.
PI3 B : Raspbian stretch
Xiaomi : Température, Mouvement, Détecteur ouverture, Bouton, Inter, Vibration...
Zwave : Inter Coolcam, relais Qubino
Camera Wanscam HW0038, HW0045
RfPlayer2: Prises DiO, OWL, Oregon
EcoCompteur, Eco-devices

Avatar de l’utilisateur
Fabrice
Modérateur
Messages : 3387
Inscription : 27 oct. 2016, 22:26
Localisation : Planète terre, IDF, 93

Re: [Plugin Tiers][Sujet Principal] Mail listener : watcher IMAP

Message par Fabrice » 19 nov. 2017, 13:22

Bonjour,

Moi j'ai sélectionné "Non" dans le champ "Traitement les pièces jointes".
- donc je n'ai pas d'erreur lié à cela. De toute façon, je n'ai pas besoin de ce traitement.

J'ai aussi le demon qui s'arrête au moins 4 fois par heure, mais il se relance seul (un autre démon semble tourner pour relancer les services).

Log ; Maillistener_node :

Code : Tout sélectionner

{ [Error: read ETIMEDOUT]
code: 'ETIMEDOUT',
errno: 'ETIMEDOUT',
syscall: 'read',
source: 'socket' }
imapDisconnected
imapConnected
J'ai lancé une commande qu'un ami m'a demandé d'exécuter pour tenter de trouver pourquoi j'ai ces déconnexions :
Depuis : root@jeedom:/home#

Code : Tout sélectionner

ping -c 3600 -i 2 mail.google.com >ping.log 2>&1
A la fin du script, j'ai affiché le fichier de log et il n'y a aucune fois ou le ping n'a pas répondu.

Du coup, je ne sais toujours pas pourquoi j'ai ce phénomène. Nous n'arrivons pas à trouver de cause.
Helper Officiel Jeedom
- Jeedom : 3.3.32
- Protocole : Z-Wave / RFXcom / BLEA
- Raspberry Pi : Pi 3 B+ / Pi 3 B / Pi Zero W

Christophe64
Timide
Messages : 43
Inscription : 20 oct. 2017, 10:36

Re: [Plugin Tiers][Sujet Principal] Mail listener : watcher IMAP

Message par Christophe64 » 19 nov. 2017, 16:39

Dès que je recois un mail avec PJ, avec ou sans traitement de la PJ, le démon maillistener s’arrête et repart.

mais les infos du mail ne sont pas remonté.

voici le log du node

Code : Tout sélectionner


/var/www/html/plugins/maillistener/resources/node_modules/mail-listener3/node_modules/mailparser/lib/mailparser.js:1407
        defaultExt = mime.extension(contentType);
                          ^

TypeError: mime.extension is not a function
    at MailParser._generateFileName (/var/www/html/plugins/maillistener/resources/node_modules/mail-listener3/node_modules/mailparser/lib/mailparser.js:1407:27)
    at MailParser._processStateHeader (/var/www/html/plugins/maillistener/resources/node_modules/mail-listener3/node_modules/mailparser/lib/mailparser.js:309:61)
    at MailParser._process (/var/www/html/plugins/maillistener/resources/node_modules/mail-listener3/node_modules/mailparser/lib/mailparser.js:227:22)
    at runCallback (timers.js:789:20)
    at tryOnImmediate (timers.js:751:5)
    at processImmediate [as _immediateCallback] (timers.js:722:5)

log du démon maillistener

Code : Tout sélectionner


[2017-11-19 16:30:04][INFO] : Arrêt du service maillistener
[2017-11-19 16:30:05][INFO] : Lancement du démon maillistener
[2017-11-19 16:30:05][DEBUG] : Lancement démon maillistener : nice -n 19 nodejs /var/www/html/plugins/maillistener/resources/maillistener.js xx.yy@gmail.com@imap.gmail.com http://192.168.1.78:80/plugins/maillistener/core/api/maillistener.php?apikey=clef xx.yy@gmail.com MotDePasse imap.gmail.com 993 false /var/www/html/plugins/maillistener/resources/attachments/
[2017-11-19 16:30:05][INFO] : Démons maillistener lancé

PI3 B : Raspbian stretch
Xiaomi : Température, Mouvement, Détecteur ouverture, Bouton, Inter, Vibration...
Zwave : Inter Coolcam, relais Qubino
Camera Wanscam HW0038, HW0045
RfPlayer2: Prises DiO, OWL, Oregon
EcoCompteur, Eco-devices

Hopper
Helper
Messages : 26
Inscription : 17 févr. 2016, 00:12

Re: [Plugin Tiers][Sujet Principal] Mail listener : watcher IMAP

Message par Hopper » 19 nov. 2017, 19:25

En attendant, j'ai ajouté "return true" à la ligne 305 du fichier « resources/node_modules/mail-listener3/node_modules/mailparser/lib/mailparser.js » :
--- /var/www/html/plugins/maillistener/resources/node_modules/mail-listener3/node_modules/mailparser/lib/mailparser.js.old 2017-11-19 19:22:47.792512807 +0100
+++ /var/www/html/plugins/maillistener/resources/node_modules/mail-listener3/node_modules/mailparser/lib/mailparser.js 2017-11-19 19:14:21.481822659 +0100
@@ -302,6 +302,7 @@
!this._currentNode.meta.mimeMultipart) {
this._currentNode.attachment = true;
}
+ return true;

// handle attachment start
if (this._currentNode.attachment) {

Christophe64
Timide
Messages : 43
Inscription : 20 oct. 2017, 10:36

Re: [Plugin Tiers][Sujet Principal] Mail listener : watcher IMAP

Message par Christophe64 » 19 nov. 2017, 21:10

merci Hopper.

cela fonctionne

bonne soirée
PI3 B : Raspbian stretch
Xiaomi : Température, Mouvement, Détecteur ouverture, Bouton, Inter, Vibration...
Zwave : Inter Coolcam, relais Qubino
Camera Wanscam HW0038, HW0045
RfPlayer2: Prises DiO, OWL, Oregon
EcoCompteur, Eco-devices

Hopper
Helper
Messages : 26
Inscription : 17 févr. 2016, 00:12

Re: [Plugin Tiers][Sujet Principal] Mail listener : watcher IMAP

Message par Hopper » 19 nov. 2017, 22:05

Je t'en prie, ça résout rien mais ça dépanne ;)

Avatar de l’utilisateur
Fabrice
Modérateur
Messages : 3387
Inscription : 27 oct. 2016, 22:26
Localisation : Planète terre, IDF, 93

Re: [Plugin Tiers][Sujet Principal] Mail listener : watcher IMAP

Message par Fabrice » 20 nov. 2017, 07:14

Bonjour,

Effectivement, je viens de tester sur un autre webmail, ou celui-ci reçoit des pièces jointes et le problème est bien présent.

Je ne pouvais pas rencontrer ce problème, car l'émail que je surveille avec Maillistener ne sert qu'a cet usage, ce n'est pas un mail que j'utilise en dehors de la domotique. Donc celui-ci n'a jamais reçus d'émail avec des pièces jointes.

Merci pour la modification. Si cela te tente, tu peux aller la proposer sur le dépôt de ce module afin que le développeur l'intègre.
- Ce n'est pas @Lunarok.

Si tu as une idée pour mes déconnexions ;-)
Helper Officiel Jeedom
- Jeedom : 3.3.32
- Protocole : Z-Wave / RFXcom / BLEA
- Raspberry Pi : Pi 3 B+ / Pi 3 B / Pi Zero W

bendangers
Timide
Messages : 120
Inscription : 16 juin 2015, 09:09

Re: [Plugin Tiers][Sujet Principal] Mail listener : watcher IMAP

Message par bendangers » 20 nov. 2017, 18:49

Bonjour,
Depuis la mise à jour du plugin, plus rien ne fonctionne
Es ce que je suis le seul ?
Merci

Code : Tout sélectionner

[code]TypeError: mime.extension is not a function
    at MailParser._generateFileName (/var/www/html/plugins/maillistener/resources/node_modules/mail-listener3/node_modules/mailparser/lib/mailparser.js:1407:27)
    at MailParser._processStateHeader (/var/www/html/plugins/maillistener/resources/node_modules/mail-listener3/node_modules/mailparser/lib/mailparser.js:309:61)
    at MailParser._process (/var/www/html/plugins/maillistener/resources/node_modules/mail-listener3/node_modules/mailparser/lib/mailparser.js:227:22)
    at tryOnImmediate (timers.js:534:15)
    at processImmediate [as _immediateCallback] (timers.js:514:5)
imapConnected
[/code]
Jeedom sur RPi 2 ,Z WAVE, 1 WIRE, KNX, Caméras Yi RTSP // Foscam // Hikvision

Christophe64
Timide
Messages : 43
Inscription : 20 oct. 2017, 10:36

Re: [Plugin Tiers][Sujet Principal] Mail listener : watcher IMAP

Message par Christophe64 » 20 nov. 2017, 22:25

Bonsoir,

pour ma part depuis la mise à jour cela fonctionne, plus la modif de Hopper pour traiter les mails avec PJ.
PI3 B : Raspbian stretch
Xiaomi : Température, Mouvement, Détecteur ouverture, Bouton, Inter, Vibration...
Zwave : Inter Coolcam, relais Qubino
Camera Wanscam HW0038, HW0045
RfPlayer2: Prises DiO, OWL, Oregon
EcoCompteur, Eco-devices

Avatar de l’utilisateur
Fabrice
Modérateur
Messages : 3387
Inscription : 27 oct. 2016, 22:26
Localisation : Planète terre, IDF, 93

Re: [Plugin Tiers][Sujet Principal] Mail listener : watcher IMAP

Message par Fabrice » 21 nov. 2017, 07:23

bendangers a écrit :
20 nov. 2017, 18:49
Bonjour,
Depuis la mise à jour du plugin, plus rien ne fonctionne
Es ce que je suis le seul ?
Merci

Code : Tout sélectionner

[code]TypeError: mime.extension is not a function
    at MailParser._generateFileName (/var/www/html/plugins/maillistener/resources/node_modules/mail-listener3/node_modules/mailparser/lib/mailparser.js:1407:27)
    at MailParser._processStateHeader (/var/www/html/plugins/maillistener/resources/node_modules/mail-listener3/node_modules/mailparser/lib/mailparser.js:309:61)
    at MailParser._process (/var/www/html/plugins/maillistener/resources/node_modules/mail-listener3/node_modules/mailparser/lib/mailparser.js:227:22)
    at tryOnImmediate (timers.js:534:15)
    at processImmediate [as _immediateCallback] (timers.js:514:5)
imapConnected
[/code]
Bonjour,

Lisez les réponses juste au dessus de votre demande, elles donnes la solution et la confirmation que cette solution fonctionne.

Vous avez cette erreur : TypeError: mime.extension is not a function
Il faut donc ajouter l'instruction (qui manque d'origine) : return true;
Entre les lignes : 304 et 305 (va donc devenir la nouvelle ligne 305)
Du fichier : /var/www/html/plugins/maillistener/resources/node_modules/mail-listener3/node_modules/mailparser/lib/mailparser.js
Helper Officiel Jeedom
- Jeedom : 3.3.32
- Protocole : Z-Wave / RFXcom / BLEA
- Raspberry Pi : Pi 3 B+ / Pi 3 B / Pi Zero W

Avatar de l’utilisateur
prohand
Timide
Messages : 139
Inscription : 26 mai 2015, 18:47
Localisation : Lyon
Contact :

Re: [Plugin Tiers][Sujet Principal] Mail listener : watcher IMAP

Message par prohand » 21 nov. 2017, 11:44

Bonjour,

J'ai ce message d'erreur depuis la MAJ :

Code : Tout sélectionner

at Object.<anonymous> (/var/www/html/plugins/maillistener/resources/maillistener.js:1:82)
at Module._compile (module.js:413:34)
at Object.Module._extensions..js (module.js:422:10)
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
at Function.Module.runMain (module.js:447:10)
module.js:341
throw err;
^
Error: Cannot find module 'mail-listener3'
at Function.Module._resolveFilename (module.js:339:15)
at Function.Module._load (module.js:290:25)
at Module.require (module.js:367:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/var/www/html/plugins/maillistener/resources/maillistener.js:1:82)
Avez-vous une solution ?
Merci

Hopper
Helper
Messages : 26
Inscription : 17 févr. 2016, 00:12

Re: [Plugin Tiers][Sujet Principal] Mail listener : watcher IMAP

Message par Hopper » 21 nov. 2017, 14:01

Fabrice a écrit :
21 nov. 2017, 07:23

[...]

Bonjour,

Lisez les réponses juste au dessus de votre demande, elles donnes la solution et la confirmation que cette solution fonctionne.

Vous avez cette erreur : TypeError: mime.extension is not a function
Il faut donc ajouter l'instruction (qui manque d'origine) : return true;
Entre les lignes : 304 et 305 (va donc devenir la nouvelle ligne 305)
Du fichier : /var/www/html/plugins/maillistener/resources/node_modules/mail-listener3/node_modules/mailparser/lib/mailparser.js
Attention toutefois, cette modification permet de contourner le problème de la lecture des pièces jointes mais cela ne résout rien puisque cela évite tout simplement le traitement des pièces jointes. ( et personnellement, il m'arrive encore de devoir quelquefois redémarrer le démon )

Hopper
Helper
Messages : 26
Inscription : 17 févr. 2016, 00:12

Re: [Plugin Tiers][Sujet Principal] Mail listener : watcher IMAP

Message par Hopper » 21 nov. 2017, 14:49

Bon, je pense être davantage proche de la solution avec le patch ci-dessous :

Code : Tout sélectionner

--- /var/www/html/plugins/maillistener/resources/node_modules/mail-listener3/node_modules/mailparser/lib/mailparser.js.old	2017-11-21 14:43:40.748903598 +0100
+++ /var/www/html/plugins/maillistener/resources/node_modules/mail-listener3/node_modules/mailparser/lib/mailparser.js	2017-11-21 14:44:03.608234832 +0100
@@ -1404,7 +1404,8 @@
         fileRootName;
 
     if (contentType) {
-        defaultExt = mime.extension(contentType);
+        console.log("MailParser.prototype._generateFileName: mime.extension(" + contentType + ") / " + fileName);
+        defaultExt = mime.getExtension(contentType);
         defaultExt = defaultExt ? "." + defaultExt : "";
     }
A priori « https://github.com/nodemailer/mailparser » utiliserait la fonction « mime.getExtension() » ( et non « mime.extension() » ).


PS : le patch fonctionne ici pour « mail-listener3 » mais, par extension, il faudrait aussi l'appliquer à « mail-listener2 ».

NB : si vous avez appliqué le patch, pensez également à commenter la ligne 305 du fichier « maillistener.js » ( ie. « // return true ).

Avatar de l’utilisateur
Fabrice
Modérateur
Messages : 3387
Inscription : 27 oct. 2016, 22:26
Localisation : Planète terre, IDF, 93

Re: [Plugin Tiers][Sujet Principal] Mail listener : watcher IMAP

Message par Fabrice » 22 nov. 2017, 07:01

Bonjour et merci pour tes contributions.

J'ai trouvé ce dépôt qui ressemble fort à ce programme.
https://github.com/mazira/mailparser-mit
https://github.com/mazira/mailparser-mi ... lparser.js

Il semble plus vivant.
Helper Officiel Jeedom
- Jeedom : 3.3.32
- Protocole : Z-Wave / RFXcom / BLEA
- Raspberry Pi : Pi 3 B+ / Pi 3 B / Pi Zero W

Hopper
Helper
Messages : 26
Inscription : 17 févr. 2016, 00:12

Re: [Plugin Tiers][Sujet Principal] Mail listener : watcher IMAP

Message par Hopper » 22 nov. 2017, 23:18

J'ai encore rencontré des plantages aujourd'hui :
==> /var/www/html/log/maillistener_node <==

/var/www/html/plugins/maillistener/resources/node_modules/mail-listener3/node_modules/mailparser/lib/mailparser.js:317
if (this._currentNode.meta.contentType == "application/octet-stream" && mime.lookup(extension)) {
^
TypeError: mime.lookup is not a function
at MailParser._processStateHeader (/var/www/html/plugins/maillistener/resources/node_modules/mail-listener3/node_modules/mailparser/lib/mailparser.js:317:90)
at MailParser._process (/var/www/html/plugins/maillistener/resources/node_modules/mail-listener3/node_modules/mailparser/lib/mailparser.js:227:22)
at tryOnImmediate (timers.js:534:15)
at processImmediate [as _immediateCallback] (timers.js:514:5)

Après quelques recherches, je suis tombé sur ce lien « https://github.com/broofa/node-mime » qui m'a inspiré :
[...]
Versionion 2 is a breaking change from 1.x, as the semver implies. Specifically:
ES6 support required (node@>=6)
  • lookup() renamed to getType()
  • extension() renamed to getExtension()
  • charset() and load() methods have been removed
If you prefer the legacy version of this module please npm install mime@^1. Version 1 docs may be found here.

Du coup, avec vi, j'y suis allé d'un "%s/mime\.lookup(/mime\.getType(/g" dans « /var/www/html/plugins/maillistener/resources/node_modules/mail-listener3/node_modules/mailparser/lib/mailparser.js » ce qui a renommé la fonction utilisée à la ligne 317 & 318.

Dans mon élan, j'ai fait la même chose dans les fichiers suivants :
  • /var/www/html/plugins/maillistener/resources/node_modules/form-data/lib/form_data.js
  • /var/www/html/plugins/maillistener/resources/node_modules/mail-listener3/node_modules/mailparser/lib/mailparser.js

Après un nouveau test du mail qui faisait tomber le démon en échec, je n'ai plus rencontré de souci ! A suivre...

En attendant, je suis preneur de vos retours/tests ;) De mon côté, j'arrive encore à planter le démon lors du changement (Oui<>Non) du traitement des pièces jointes dans l'équipement et, dans aucun cas je ne retrouve les pièces jointes ;(

Christophe64
Timide
Messages : 43
Inscription : 20 oct. 2017, 10:36

Re: [Plugin Tiers][Sujet Principal] Mail listener : watcher IMAP

Message par Christophe64 » 23 nov. 2017, 23:06

Bonsoir Hopper,

j'ai tenté une première fois ton premier patch ... :?
pas très concluant chez moi (j'ai surement fait une petite erreur quelque part)
je retenterai ce we au calme ...

en tout cas, merci pour tes patchs
PI3 B : Raspbian stretch
Xiaomi : Température, Mouvement, Détecteur ouverture, Bouton, Inter, Vibration...
Zwave : Inter Coolcam, relais Qubino
Camera Wanscam HW0038, HW0045
RfPlayer2: Prises DiO, OWL, Oregon
EcoCompteur, Eco-devices

mikebzh44
Timide
Messages : 103
Inscription : 16 janv. 2017, 09:47

Re: [Plugin Tiers][Sujet Principal] Mail listener : watcher IMAP

Message par mikebzh44 » 24 nov. 2017, 21:20

Salut.

Je tente d'utiliser ce plugin pour surveiller un PC et le rebooter si je reçois un mail.

J'ai donc configuré le plugin :

Image

Et j'ai bien les mails qui sont récupérés et les infos sont extraites :

Image

Mais ensuite, je veux faire un scénario pour m'avertir par mail du reboot du PC (j'intégrerai par la suite la commande de la prise connectée Z-Wave) mais là on dirait que mon scénario ne se déclenche jamais car j'ai pas de mail (cette procédure marche car c'est comme ça que j'ai mes notifs pour sortir les poubelles mais le scénario Poubelles est déclenché par un agenda).

Là, j'ai fait un scénario déclenché sur le sujet :

Image

Avec comme action :

Image

Mais il ne se passe rien.

C'est ma façon de déclencher le scénario qui n'est pas bon ? Vous faites comment pour "traper" la réception d'un nouveau mail ?

Merci.
Raspberry Pi 3
RFXtrx433E
z-wave.me ZME_UZB1
6 Modules On/Off ORNO SH1704
2 Modules On/Off Chacon CH54755
1 Interrupteur double Chacon CH54725
3 Modules Fibaro FGR-222
Ampoules Yeelight Blanche + RGB + bandeau LED RGB

Avatar de l’utilisateur
Fabrice
Modérateur
Messages : 3387
Inscription : 27 oct. 2016, 22:26
Localisation : Planète terre, IDF, 93

Re: [Plugin Tiers][Sujet Principal] Mail listener : watcher IMAP

Message par Fabrice » 24 nov. 2017, 21:41

Bonjour,

Je procède de la même façon, dès que le plugin traite un nouveau message, celui-ci déclenche le scénario.

Regardez la log de votre scénario pour voir ce qui ne va pas (si les informations de l'équipement sont bien à jour, inutile de remettre en cause le plugin).
Helper Officiel Jeedom
- Jeedom : 3.3.32
- Protocole : Z-Wave / RFXcom / BLEA
- Raspberry Pi : Pi 3 B+ / Pi 3 B / Pi Zero W

mikebzh44
Timide
Messages : 103
Inscription : 16 janv. 2017, 09:47

Re: [Plugin Tiers][Sujet Principal] Mail listener : watcher IMAP

Message par mikebzh44 » 25 nov. 2017, 08:11

Merci pour le conseil des logs des scénarios.

J'ai pu constater que le scénario était bien déclenché sur réception du mail. C'est le mail d'avertissement qui ne partait pas. Pour autant, il est bien parti ce matin lors de mes tests.
Raspberry Pi 3
RFXtrx433E
z-wave.me ZME_UZB1
6 Modules On/Off ORNO SH1704
2 Modules On/Off Chacon CH54755
1 Interrupteur double Chacon CH54725
3 Modules Fibaro FGR-222
Ampoules Yeelight Blanche + RGB + bandeau LED RGB

Christophe64
Timide
Messages : 43
Inscription : 20 oct. 2017, 10:36

Re: [Plugin Tiers][Sujet Principal] Mail listener : watcher IMAP

Message par Christophe64 » 25 nov. 2017, 17:24

Bonjour Hopper,

je viens de tester ton premier patch : c'est ok pas d’erreur avec une comme PJ une photo ou un fichier.doc.

Code : Tout sélectionner

MailParser.prototype._generateFileName: mime.extension(application/vnd.openxmlformats-officedocument.wordprocessingml.document) / dgccrf.docx
contact Jeedom avec retour : 200
comme toi dès qu'on touche un paramètre dans l’équipement le démon tombe.

mais où se trouve la PJ ?

je n'ai essayé le second patch, je ne sais pas faire
Du coup, avec vi, j'y suis allé d'un "%s/mime\.lookup(/mime\.getType(/g" dans « /var/www/html/plugins/maillistener/resources/node_modules/mail-listener3/node_modules/mailparser/lib/mailparser.js » ce qui a renommé la fonction utilisée à la ligne 317 & 318.
c'est qui vi ? :roll:
PI3 B : Raspbian stretch
Xiaomi : Température, Mouvement, Détecteur ouverture, Bouton, Inter, Vibration...
Zwave : Inter Coolcam, relais Qubino
Camera Wanscam HW0038, HW0045
RfPlayer2: Prises DiO, OWL, Oregon
EcoCompteur, Eco-devices

Répondre

Revenir vers « [Catégorie] Communication »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 3 invités