Ousret/hermes

HERMES : Erreur lors du traitement d'un mail

Dsniss opened this issue · 5 comments

Bonjour @Ousret

Je constate une erreur lors du traitement d'un mail (cf. copie ci-dessous du message). Par contre si je prends le mail et je le copie sur mon bureau Windows et qu'ensuite je le dépose en entrée d'HERMES je n'ai pas d'erreur. Un problème d'encodage certainement.

2020-04-27 10:27:28.417 | DEBUG | hermes_ui.moteur.processus:thread:75 - 1 usine(s) à production de source sont actives
2020-04-27 10:27:28.503 | DEBUG | hermes_ui.moteur.processus:thread:89 - 16 automates en production sont actifs
2020-04-27 10:27:28.503 | DEBUG | hermes_ui.moteur.processus:thread:93 - Ouverture de la BAL 'demandes-gie'@'cas-mail'
172.17.25.34 - - [27/Apr/2020 10:27:28] "GET /admin/rest/logger?offset=2335 HTTP/1.1" 200 -
Exception in thread Thread-58:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/threading.py", line 917, in _bootstrap_inner
self.run()
File "/usr/local/lib/python3.7/threading.py", line 865, in run
self._target(*self._args, **self._kwargs)
File "/home/itop/hermes/hermes_ui/moteur/processus.py", line 100, in thread
sources = mail_factory.extraire()
File "/home/itop/hermes/hermes/mail.py", line 522, in extraire
mail = Mail.from_message(email_message)
File "/home/itop/hermes/hermes/mail.py", line 264, in from_message
concerned_body = decodestring(concerned_body).decode(charset_declared if charset_declared else 'utf-8', errors='ignore')
File "/usr/local/lib/python3.7/quopri.py", line 162, in decodestring
return a2b_qp(s, header=header)
ValueError: string argument should contain only ASCII characters

172.17.25.34 - - [27/Apr/2020 10:27:29] "GET /admin/rest/statistique HTTP/1.1" 200 -
172.17.25.34 - - [27/Apr/2020 10:27:29] "GET /admin/rest/automate-execution/2035 HTTP/1.1" 404 -
172.17.25.34 - - [27/Apr/2020 10:27:29] "GET /admin/service HTTP/1.1" 200 -

Merci pour ton aide et bonne journée

@Dsniss

Voici le fichier concerné. mais attention ce dernier n'est pas celui d'origine.
C'est la copie que j'ai effectuée sur mon bureau windows

Information GIE SITUATION DU 24 04 2020.zip

Bonjour @Ousret

Juste pour info, cette erreur est à nouveau présente aujourd'hui sur notre serveur. Le problème est là aussi lié au même type de mail qui bloque et empêche HERMES de prendre en compte les mails suivants. La seule solution que nous avons est de déplacer le mail ou le supprimer ce qui implique une observation et/ou des contrôles journaliers

J'ai récupéré à nouveau la trace dans les LOG

2020-04-28 08:27:02.963 | INFO | hermes_ui.moteur.processus:thread:32 - Chargement des variables globales passées en base de données
172.17.25.38 - - [28/Apr/2020 08:27:02] "POST /admin/service HTTP/1.1" 201 -
2020-04-28 08:27:02.968 | INFO | hermes_ui.moteur.processus:thread:36 - Chargement de la configuration <'Configuration SMTP Demandes GIE'::JSON>
2020-04-28 08:27:02.969 | INFO | hermes_ui.moteur.processus:thread:36 - Chargement de la configuration <'Configuration ITOP'::JSON>
2020-04-28 08:27:02.969 | INFO | hermes_ui.moteur.processus:thread:36 - Chargement de la configuration <'Configuration IMAP Demandes GIE'::JSON>
2020-04-28 08:27:02.970 | INFO | hermes_ui.moteur.processus:thread:36 - Chargement de la configuration <'Configuration Proxy pour connexion extérieure'::JSON>
2020-04-28 08:27:02.970 | INFO | hermes_ui.moteur.processus:thread:36 - Chargement de la configuration <'Correspondances Statuts GDI'::JSON>
2020-04-28 08:27:02.970 | INFO | hermes_ui.moteur.processus:thread:36 - Chargement de la configuration <'Configuration ICD'::JSON>
2020-04-28 08:27:02.971 | INFO | hermes_ui.moteur.processus:thread:36 - Chargement de la configuration <'Correspondances Etats et Stimulus ICD'::JSON>
2020-04-28 08:27:02.971 | INFO | hermes_ui.moteur.processus:thread:36 - Chargement de la configuration <'Correspondances Etats et Stimulus GDI'::JSON>
2020-04-28 08:27:02.972 | INFO | hermes_ui.moteur.processus:thread:46 - Démarrage de la boucle de surveillance des automates sur les boîtes IMAP4
2020-04-28 08:27:02.974 | DEBUG | hermes_ui.moteur.processus:thread:75 - 1 usine(s) à production de source sont actives
2020-04-28 08:27:03.050 | DEBUG | hermes_ui.moteur.processus:thread:89 - 16 automates en production sont actifs
2020-04-28 08:27:03.051 | DEBUG | hermes_ui.moteur.processus:thread:93 - Ouverture de la BAL 'xxxxxxx@cas-mail'
172.17.25.38 - - [28/Apr/2020 08:27:03] "GET /admin/rest/logger?offset=43575 HTTP/1.1" 200 -
Exception in thread Thread-88689:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/threading.py", line 917, in _bootstrap_inner
self.run()
File "/usr/local/lib/python3.7/threading.py", line 865, in run
self._target(*self._args, **self._kwargs)
File "/home/itop/hermes/hermes_ui/moteur/processus.py", line 100, in thread
sources = mail_factory.extraire()
File "/home/itop/hermes/hermes/mail.py", line 522, in extraire
mail = Mail.from_message(email_message)
File "/home/itop/hermes/hermes/mail.py", line 264, in from_message
concerned_body = decodestring(concerned_body).decode(charset_declared if charset_declared else 'utf-8', errors='ignore')
File "/usr/local/lib/python3.7/quopri.py", line 162, in decodestring
return a2b_qp(s, header=header)
ValueError: string argument should contain only ASCII characters

Merci pour ton aide

Bonne journée

@Dsniss

je t'ajoute un fichier en PJ contenant deux mails en espérant qu'un des deux te servira pour constater le pb.
Sans titre.zip

Bonjour @Ousret

La version 1.0.12 a bien corrigé le problème
Nickel

Merci et très bonne journée

Au plaisir

@Dsniss