You are not logged in.
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
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
Bonjour,
Avais tu trouvé une solution ?
Offline
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
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
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