You are not logged in.
Pages: 1
Bonjour,
Je n'arrive pas à faire afficher mes images dans mes mails de notifications. J'ai placé mon répertoire "mails" - qui contient toutes mes images - dans /var/www/glpi/pics/, j'ai vérifié la taille des images (Taille limite par défaut des fichiers importés par un collecteur mail) dans Configuration > Générale > Assistance, et j'ai bien donné les droits au dossier "mails". Quel pourrait être le problème?
Cordialement
version 10.0.17
Offline
Salut,
j'avais un souci lorsque mon collecteur faisait comme ça :
1 - Emission du mail original "HTML" ==> Nok tronqué pas d'image
2 - Reprise du même mail puis transférer à mon collecteur ==> OK Image s'affiche.
j'ai donc fais comme ceci
1. Identification du problème
Le problème venait de la gestion des images intégrées (Content-ID) dans les e-mails reçus par GLPi. Ces images sont souvent insérées dans le corps HTML des e-mails et référencées par src="cid:xxx". GLPi ne traitait pas correctement ces références, ce qui empêchait l’affichage des images dans les tickets.
2. Modifications dans le fichier MailCollector.php
Nous avons :
Ajouté un traitement pour les images intégrées :
Identification des parties des e-mails avec le type MIME image/*.
Extraction du Content-ID pour les images intégrées.
Enregistrement de ces images sur le serveur dans un répertoire défini.
Remplacement des références cid: dans le contenu HTML des e-mails par le chemin d'accès local aux images sauvegardées.
Code ajouté : Voici la logique principale ajoutée dans la méthode getRecursiveAttached :
php
Copier le code
if (preg_match('/^image\/.+/', $content_type)) {
// Gestion des images intégrées
if ($part->getHeaders()->has('content-id')) {
$content_id = trim($part->getHeader('content-id'), '<>');
$file_path = $path . DIRECTORY_SEPARATOR . 'image_' . $content_id . '.' . explode('/', $content_type)[1];
// Sauvegarder l'image
file_put_contents($file_path, $part->getContent());
// Remplacer les références CID dans le contenu HTML
$this->htmlContent = str_replace(
'cid:' . $content_id,
$file_path,
$this->htmlContent
);
}
}
3. Ajustement des permissions
Pour garantir que GLPi puisse écrire et lire les images sur le serveur, nous avons :
Accordé temporairement des permissions élevées sur le répertoire concerné (/var/www/glpi/src).
Restauré ensuite les permissions sécurisées après le transfert et les modifications.
4. Validation et tests
Après avoir appliqué le correctif :
GLPi a correctement affiché ces images dans le ticket en les sauvegardant et en traitant les références CID.
5. Pourquoi ça fonctionne maintenant ?
GLPi est désormais capable de gérer correctement les images intégrées en tant que pièces jointes via les références Content-ID.
Le correctif a permis de sauvegarder les images sur le serveur et de mettre à jour les liens dans le contenu HTML des e-mails.
Offline
Pages: 1