You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2019-09-04 12:26:09

f.leput
Member
Registered: 2018-12-03
Posts: 3

Problème collecteur / office 365 encore et toujours...

Bonjour,

Avant toute chose je précise que j'ai fouillé ce forum de fond en comble avant de poster de message.

J'utilise GLPI 9.3.2

Mon collecteur est configuré de la manière suivante :
- nom : support.info@xyz.bzh
- actif : oui
- serveur : outlook.office365.com
- IMAP, SSL, NO-VALIDATE-CERT
- dossier : INBOX
- port : 993
- identifiant : support.info@xyz.bzh
- kerberos : non

j'ai donc la chaîne de connexion suivante : {outlook.office365.com:993/imap/ssl/novalidate-cert}INBOX

J'ai systématiquement l'erreur : échec de connexion au collecteur.
Dans les logs PHP (fichier php-errors.log de GLPI) :

[2019-09-04 12:15:09] glpiphplog.ERROR: Toolbox::userErrorHandlerNormal() in /opt/glpi/inc/toolbox.class.php line 657
  *** PHP Warning(2): imap_open(): Couldn't open stream {outlook.office365.com:993/imap/ssl/novalidate-cert}INBOX
  Backtrace :
  :                                                 
  inc/mailcollector.class.php:1227                   imap_open()
  inc/mailcollector.class.php:609                    MailCollector->connect()
  front/mailcollector.form.php:77                    MailCollector->collect()
  {"user":"2@SRVWEB","mem_usage":"0.193\", 1.71Mio)"}
[2019-09-04 12:15:09] glpiphplog.ERROR: Toolbox::userErrorHandlerNormal() in /opt/glpi/inc/toolbox.class.php line 657
  *** PHP Notice(8): Unknown: Login aborted (errflg=2)
  Backtrace :
  :                                                 
  {"user":"2@SRVWEB","mem_usage":"0.013\", 2.51Mio)"}
[2019-09-04 12:15:09] glpiphplog.ERROR: Toolbox::userErrorHandlerNormal() in /opt/glpi/inc/toolbox.class.php line 657
  *** PHP Notice(8): Unknown: Login aborted (errflg=2)
  Backtrace :
  :                                                 
  {"user":"2@SRVWEB","mem_usage":"0.000\", 2.51Mio)"}
[2019-09-04 12:15:09] glpiphplog.DEBUG: Config::getCache() in /opt/glpi/inc/config.class.php line 2989
CACHE cache_db Zend\Cache\Storage\Adapter\Apcu  {"user":"2@SRVWEB"}
[2019-09-04 12:15:09] glpiphplog.DEBUG: Config::getCache() in /opt/glpi/inc/config.class.php line 2989
CACHE cache_trans Zend\Cache\Storage\Adapter\Apcu  {"user":"2@SRVWEB","mem_usage":"0.010\", 1.39Mio)"}
[2019-09-04 12:15:10] glpiphplog.DEBUG: Config::getCache() in /opt/glpi/inc/config.class.php line 2989
CACHE cache_db Zend\Cache\Storage\Adapter\Apcu  {"user":"2@SRVWEB","mem_usage":"0.177\", 7.88Mio)"}
[2019-09-04 12:15:11] glpiphplog.DEBUG: Config::getCache() in /opt/glpi/inc/config.class.php line 2989
CACHE cache_db Zend\Cache\Storage\Adapter\Apcu  {"user":"2@SRVWEB"}
[2019-09-04 12:15:11] glpiphplog.DEBUG: Config::getCache() in /opt/glpi/inc/config.class.php line 2989
CACHE cache_trans Zend\Cache\Storage\Adapter\Apcu  {"user":"2@SRVWEB","mem_usage":"0.013\", 1.39Mio)"}
[2019-09-04 12:15:11] glpiphplog.DEBUG: Config::getCache() in /opt/glpi/inc/config.class.php line 2989
CACHE cache_db Zend\Cache\Storage\Adapter\Apcu  {"user":"2@SRVWEB"}
[2019-09-04 12:15:11] glpiphplog.DEBUG: Config::getCache() in /opt/glpi/inc/config.class.php line 2989

Je tiens à préciser que je suis absolument certain des informations de connexion du mail utilisé, de plus imap est bien activé côté office365.

de plus, j'ai écrit un petit script PHP pour tester ma connexion IMAP à ma boite mail office365 qui utilise les mêmes identifiants de connexion et que celui-ci fonctionne parfaitement :

<?php
$imapLink = imap_open("{outlook.office365.com:993/imap/ssl}INBOX","support.info@xyz.bzh","XXXXXXXXXX");

if(!$imapLink) {
    echo "La connexion a échoué.";
}
else {
    echo "Connexion établie.";

    // On utilise imap_check() pour voir les informations liées à la BAL
    $mailBoxInfos = imap_check($imapLink);

    if(!$mailBoxInfos) {
        echo "La récupération a échoué.";
    }
    else {
        echo "Lecture des informations...";
        echo '<pre>';
        print_r($mailBoxInfos);
        echo '</pre>';
    }

    // On utilise imap_close() pour fermer la connexion avec en paramètre la ressource retournée par imap_open()
    $imapClose = imap_close($imapLink);

    if(!$imapClose) {
        echo "La fermeture a échoué.";
    }
    else {
        echo "Fermeture de la connexion réussie.";
    }
}

Mon script renvoie ceci :

Connexion établie.Lecture des informations...

stdClass Object
(
    [Date] => Wed, 4 Sep 2019 11:47:49 +0200 (CEST)
    [Driver] => imap
    [Mailbox] => {LHR-efz.ms-acdc.office.com:993/imap/notls/ssl/user="support.info@guingamp-paimpol.bzh"}INBOX
    [Nmsgs] => 60
    [Recent] => 0
)

Fermeture de la connexion réussie.

En bref je suis perdu HELP PLEAAAAASE !

Merci d'avance,

Fred.

Offline

#2 2019-09-04 12:45:10

f.leput
Member
Registered: 2018-12-03
Posts: 3

Re: Problème collecteur / office 365 encore et toujours...

Petite précision : en modifiant le code du fichier inc/mail-collector.class dans la fonction connect le collecteur fonctionne... mais évidemment c'est sale.

/**
     * Connect to the mail box
   **/
   function connect() {

      if ($this->fields['use_kerberos']) {
         $this->marubox = @imap_open($this->fields['host'], $this->fields['login'],
                                     Toolbox::decrypt($this->fields['passwd'], GLPIKEY),
                                     CL_EXPUNGE, 1);
      } else {
         $try_options = [['DISABLE_AUTHENTICATOR' => 'GSSAPI'],
                              ['DISABLE_AUTHENTICATOR' => 'PLAIN']];
         foreach ($try_options as $option) {
             /*
            $this->marubox = @imap_open($this->fields['host'], $this->fields['login'],
                                        Toolbox::decrypt($this->fields['passwd'], GLPIKEY),
                                        CL_EXPUNGE, 1, $option);
              * 
              */
// modification en dur qui fonctionne....
             $this->marubox = @imap_open("{outlook.office365.com:993/imap/ssl}INBOX","support.info@xyzbzh","XXXXXXX", CL_EXPUNGE, 1, $option);
            if (is_resource($this->marubox)) {
               break;
            }
         }

      }
      // Reset errors
      if ($this->marubox) {
         // call this to avoid the mailbox is empty error message
         if (imap_num_msg($this->marubox) == 0) {
             $errors = imap_errors();
         }

         if ($this->fields['errors'] > 0) {
            $this->update(['id'     => $this->getID(),
                                'errors' => 0]);
         }
      } else {
            $this->update(['id'     => $this->getID(),
                                'errors' => ($this->fields['errors']+1)]);
      }

Offline

#3 2020-05-13 15:04:00

eric.le-corre
Member
Registered: 2013-01-07
Posts: 1,005

Re: Problème collecteur / office 365 encore et toujours...

Bonjour,

Avais tu trouvé une solution ?

Offline

#4 2020-05-14 23:32:01

stdglpi
Member
Registered: 2020-02-19
Posts: 47

Re: Problème collecteur / office 365 encore et toujours...

Mon collecteur :

- nom : xxxxxx@xxxxx
- actif : oui
- serveur : outlook.office365.com
- IMAP, SSL, TLS, NO-VALIDATE-CERT
- dossier : INBOX
- identifiant : xxxxx@xxxxx
- kerberos : non

chaine : {outlook.office365.com/imap/validate-cert/tls}INBOX

ça foncionne avec office 365

A+

Last edited by stdglpi (2020-05-14 23:32:22)

Offline

#5 2020-10-06 11:00:32

rreglpimc
Member
Registered: 2018-02-09
Posts: 95

Re: Problème collecteur / office 365 encore et toujours...

bonjour, suivant l'état de santé des services en ligne d'office 365, on rencontre des soucis avec la fonction mail collector de glpi (glpi 9.4.3 / 7 collecteurs)

Aléatoirement une ou plusieurs bal ne seront pas collectées avec une erreur "Invalid credentials" alors que les infos d'authentification sont valides (testées à la main office.com).
Néanmoins depuis que tous nos collecteurs sont sur office en ligne, ces soucis de collecte  peuvent bloquer complètement le process mailgate de glpi ou retourner une erreur 500.

Ces soucis n'existaient pas avec l'usage de boite mail exchange dont le serveur était en interne mais depuis la migration sur office365, c'est récurrent d'avoir des blocage sans arriver à les corriger ou contourner. Au bout d'un moment cela fini par refonctionner.

Offline

#6 2021-07-23 16:47:38

rreglpimc
Member
Registered: 2018-02-09
Posts: 95

Re: Problème collecteur / office 365 encore et toujours...

Bonjour, la situation ne s'améliore pas avec l'ajout de collecteur supplémentaire qui pointent vers office 365. (11 collecteurs au total, job auto toute les 10min et régulièrement la collecte prend 12 à 15min ou alors la tâche auto se fige)

Est ce que le code de glpi peut être customisé pour générer une sorte de latence entre le relevé de chaque collecteur et ne pas tout faire d'un coup ?

Peut être que sur une 9.5 ou 9.6 cela fonctionnera mieux mais j'ai des doutes vu que c'est spécifique à l'interrogation de bal chez microsoft.

Offline

Board footer

Powered by FluxBB