You are not logged in.
Pages: 1
Topic closed
Bonjour,
Les mails envoyés par GLPI ne supportent pas les fils de discussion des clients de messagerie.
C'est dommage car cela permettrait que tous les mails envoyés pour un même ticket soient regroupés ensemble.
Il faudrait pour cela que vous renseigniez les entêtes Message-Id, In-Reply-To et References dans les mails.
Pourriez-vous envisager cela dans une prochaine version ?
Merci
Cordialement
Offline
L'idee pourrait en effet etre interessente si par exemple cela permet a l'utilisateur de regrouper les mails par tikets .
Quel type de serveur messagerie et cllient utulise tu?
Migration en cours vers 9.1.2 sous CENTOS 7.
PROD: Win2K3 - XAMPP - OCS 1.32 - GLPI 0.84 - Auth AD - Exchange 2007 - Collecteur POP
Offline
J'utilise Thunderbird mais je ne pense pas que cela soit lié au client de messagerie. Les bons clients savent gérer les fils de discussion.
Il faudrait gérer le champ "references" dans les headers du mail. Le premier mail (celui de la création du ticket) a un Message-ID auquel les mails suivants d'un même ticket feront référence.
Offline
Euh normalement, une réponse à la notification d'un ticket , ne crée pas de nouveau ticket mais ajoute un suivi à ce même ticket.
C'est à dire :
A ouvre un ticket en envoyant un mail sur l'adresse helpdesk@......Fr par exemple. GLPI collecte le mail et crée un ticket.
B se l'assigne. A reçoit une notification.
A répond par mail à la notification afin donner plus d'informations. GLPI collecte le mail et ajoute un nouveau suivi au ticket.
B répond en ajoutant un suivi.
Etc...
JMD / Jean-Mathieu Doléans - Glpi-project.org - Association Indepnet
Apportez votre pierre au projet GLPI : Soutenir
Offline
Je pense que vous n'avez pas compris mon propos.
Lorsque l'on active la notification par mails, on reçoit un certain nombre de mails tout au long de la vie du ticket.
Ces différents mails envoyés par GLPI pour un numéro de ticket donné, pourraient être regroupés par les clients de messagerie dans des threads (fils de discussion).
http://fr.wikipedia.org/wiki/Fil_de_discussion
Pour cela, il faudrait gérer les champs Message-ID, in-reply-to et References lors de la génération des mails. Ainsi, les clients de messagerie sauraient automatiquement réunir les mails se rapportant à un même ticket dans un thread.
Le 1er mail généré par GLPI à un Message-ID que vous construisez :
vu dans notificationmail.class.php
$mmail->MessageID = "<GLPI-".$options["items_id"].".".time().".".rand(). "@".php_uname('n').">";
Il faudrait ensuite que les mails suivant aient cet identifiant dans le champ "references"
J'ai vu dans le code que GLPI utilise la classe phpmailer qui a une méthode addCustomHeader($value). Il est donc possible d'ajouter le header "references"
Offline
En effet JMD a interpreté le sujet d'une autre manière.
L'idée finale est bien de regrouper les notifications GLPI dans un même fil de discution au niveau du client messagerie de l'utilisateur (dans la mesure ou celui-ci supporte cela.).
Grosso modo voici les entetes utilisées:
Thread-Topic: [GLPI #0000826] Modification Ticket
Thread-Index: AcyUkhJkb1eYi6oLSdsdNiBouCb94O66gABQNKQ
Message-ID: <28B9E8E4AB4A6749A8F934EF43224BAF04EF41F14732FE3@xxxxxxxxxxxxx>
References: <GLPI-826.1319710838.24382@xxxxxxxxxxxxx>
In-Reply-To: <GLPI-826.1319710838.24382@xxxxxxxxxxxxx>
Sachant que 'References' est la liste ID des Message-ID du fil de discussion et que les entete Thread-Topic et Tread-Index sont propre a exchange.
La rfc est ici : http://www.faqs.org/rfcs/rfc2822.html
Une idée comme ça serait de crée un table qui lié l'id d'un ticket et les Message-ID avec peut-etre un ordre d'envoi pour distinguer le 1er envoi donc lors d'une notification sur un ticket il récupere le dernier Message-ID sur ticket pour le champ In-Reply-To, les autres dans la liste References, genère son message-ID et l'ajoute dans la table.
Last edited by DaBoss (2011-10-27 13:19:42)
Migration en cours vers 9.1.2 sous CENTOS 7.
PROD: Win2K3 - XAMPP - OCS 1.32 - GLPI 0.84 - Auth AD - Exchange 2007 - Collecteur POP
Offline
Bon après avoir jete un oeil c'est comme d'habitue simple dans l'idée mais on en découvre toujours au fer et a messure.
Je me suis dit que cette modification était peut-etre a ma porté.
J'ai donc commencé a regarde hier soir . . .
Si je modifie la fonction sendNotification, ce va fonctionné sur les notifications de tickets mais quel impact sur les autres notifications ?
J'ai commencé par tester le bon fonctionnement des headers avec mon exchange2007 et outlook2010 (en utilisant le systeme du repertoire pickup) et cela semble fonctionné même si les sujets des mails different.
Or j'ai commencé a modifier le code de mon glpi il semblerait que mon client outlook ne regroupe plus les messages en fonction des headers mais des sujets (comme il le fait déjà . . .)
Je vais cotinué a chercher . . .
Migration en cours vers 9.1.2 sous CENTOS 7.
PROD: Win2K3 - XAMPP - OCS 1.32 - GLPI 0.84 - Auth AD - Exchange 2007 - Collecteur POP
Offline
Le truc qui complique pas mal la mise en oeuvre, c'est qu"il est très difficile d'avoir une "reference" qui ne soit fiable car les destinataires sont différents pour chaque notification...
Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/
Offline
Remi> en effet, j'ai noté cela . . . c'est 1 envoi de mail par demandeurs/observateurs etc...
Migration en cours vers 9.1.2 sous CENTOS 7.
PROD: Win2K3 - XAMPP - OCS 1.32 - GLPI 0.84 - Auth AD - Exchange 2007 - Collecteur POP
Offline
Effectivement, il semble que pour une notification, il y a autant de mails générés que de (groupe de) destinataires. Et donc autant de MessageID à gérer.
Les MessageId de référence devraient être ceux des mails pour l'action "new ticket".
Donc pour un ticket donné, il faudrait stocker dans une table, les MessageId des mails envoyés aux différents groupes puis les remettre en références dans les mails suivants (add, update, close...)
Offline
ça sent l'usine à gaz... d'autant que tous les destinataires des différentes notifications ne sont pas forcément destinataire d'un mail pour le "new ticket"
Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/
Offline
Effectivement j'avais mal compris votre problématique initiale.
L'idée n'est pas inintéressante mais comme d'habitude l'implémentation risque d’être sioux.
JMD / Jean-Mathieu Doléans - Glpi-project.org - Association Indepnet
Apportez votre pierre au projet GLPI : Soutenir
Offline
une solution simple que je vient de tester.
Ajouter juste après :
$mmail->MessageID = "<GLPI-".$options["items_id"].".".time().".".rand(). "@".php_uname('n').">";
une reference fixe.
$mmail->AddCustomHeader("references:GLPI-".$options["items_id"]);
ca groupe les tickets sans arborescence complète mais qu'on ne sait pas générer simplement
Faudrait juste ajouter le type de l'objet dans la reference pour ne pas avoir collision entre différents type d'objets
MoYo - Julien Dombre - Association INDEPNET
Contribute to GLPI : Support Contribute References Freshmeat
Offline
Oui ça a le mérite d'apporter une réponse simple à cette problématique.
C'est pas parfait mais ça me semble un bon rapport emmerdement/fonctionnalité.
JMD / Jean-Mathieu Doléans - Glpi-project.org - Association Indepnet
Apportez votre pierre au projet GLPI : Soutenir
Offline
à tester et dire si cela convient
MoYo - Julien Dombre - Association INDEPNET
Contribute to GLPI : Support Contribute References Freshmeat
Offline
Une solution rapide et sale : ajouter une entête In-Reply-To faisant référence à un mail qui n'existe toutefois pas. Ce qui donne sur la version 0.83.31 (debian stable) :
--- /usr/share/glpi/inc/notificationmail.class.php.orig 2013-12-03 10:55:55.388284000 +0100
+++ /usr/share/glpi/inc/notificationmail.class.php 2013-12-03 10:58:53.990993000 +0100
@@ -221,6 +221,10 @@
if ($options['replyto']) {
$mmail->AddReplyTo($options['replyto'], $options['replytoname']);
}
+ // Olm, le 03/12/2013
+ // Ajout d'un champ In-Reply-To permettant d'identifier le fil
+ $mmail->AddCustomHeader("In-Reply-To: " . "<GLPI-".$options["items_id"]."@".php_uname('n').">");
+
$mmail->Subject = $options['subject'];
if (empty($options['content_html'])) {
Last edited by olm (2013-12-04 20:03:13)
Olivier Le Monnier
---
UCBN – Université de Caen Basse-Normandie
DSI – Direction du Système d'Information
Offline
ticket ouvert https://forge.indepnet.net/issues/4727
MoYo - Julien Dombre - Association INDEPNET
Contribute to GLPI : Support Contribute References Freshmeat
Offline
Pages: 1
Topic closed