Page 1 sur 1

Gmail

Posté : ven. 9 oct. 2015 12:14
par Benoit
Bonjour,
J'ai installeéGestSup dans mon entreprise pour le besoin interne et l'outil à l'air très bien.
Je rencontre juste un problème sur la configuration du connecteur SMTP avec un compte gmail.

serveur SMTP => ssl://smtp.gmail.com
port => 465 (SSL)
Prefixe => Aucun
Serveur SMTP authentifié => Coché
login + mot de passe

En mode debugage j'ai le résultat suivant :

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/html/components/PHPMailer_v5.1/class.phpmailer.php on line 1736
SMTP -> FROM SERVER:220 smtp.gmail.com ESMTP x16sm2143636wia.7 - gsmtp
SMTP -> FROM SERVER: 250-smtp.gmail.com at your service, [83.167.152.109] 250-SIZE 35882577 250-8BITMIME 250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN XOAUTH OAUTHBEARER 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250 SMTPUTF8
SMTP -> ERROR: Password not accepted from server: 534-5.7.14 Please log in via your web browser and 534-5.7.14 then try again. 534-5.7.14 Learn more at 534 5.7.14 https://support.google.com/mail/answer/78754 x16sm2143636wia.7 - gsmtp
SMTP -> FROM SERVER:250 2.1.5 Flushed x16sm2143636wia.7 - gsmtp
SMTP Error: Could not authenticate.
Message non envoyé, vérifier la configuration de votre serveur de messagerie. (SMTP Error: Could not authenticate.)
SMTP -> FROM SERVER:221 2.0.0 closing connection x16sm2143636wia.7 - gsmtp

Je sait que google a mit en place un nouveau protocole d'authentification en début d'année.
Peut-être que GestSup n'est pas compatible?
D'autre personne ont-elle le même problème?
Merci

Re: Gmail

Posté : lun. 12 oct. 2015 09:28
par Benoit
Est-ce qu'il faut que je crée un certificat autosigné?

Re: Gmail

Posté : lun. 12 oct. 2015 10:44
par Benoit
Bonjour,
J'ai trouvé la solution.
Il faut que j'active l'option "Autoriser les applications moins sécurisé à se connecter à mon compte".
Il faudrait quand même pouvoir corriger ce problème dans les prochaines versions.

Re: Gmail

Posté : mer. 14 oct. 2015 09:24
par Benoit
Bonjour,
PHPMailer à implémenter le protocole utiliser par Google dans la version 5.2.11
Quelle est la version de PHPMailer utiliser par Gestsup?

Re: Gmail

Posté : lun. 26 oct. 2015 13:31
par Benoit
J'ai fini par trouvé la solution. Il faut remplacer la version du PHPMailer utiliser par défaut par Gestsup par la branche xoauth de PHPMailer. Il faut également activer la double authentification sur le compte Gmail.

Installation de Curl avec :
> apt-get install curl php5-curl

Installation de composer avec :
> curl -sS https://getcomposer.org/installer | php
> mv composer.phar /usr/local/bin/composer

Télécharger la branche “xoauth” de la librairie PHPMailer
> wget https://codeload.github.com/PHPMailer/P ... zip/xoauth

Décompresser l’archive au bonne endroit avec :
> unzip xoauth -d /var/www/html/components

Suppression du PHPMailer utiliser par défaut par GestSup avec :
> rm -r /var/www/html/components/PHPMailer_v5.1

Résolution des dépendances pour PHPMailer avec :
> composer require phpmailer/phpmailer

Télécharger la librairie “oauth2-client”
> wget https://codeload.github.com/thephpleagu ... zip/master

Décompresser l’archive au bonne endroit avec :
> unzip master -d /var/www/html/components/PHPMailer-xoauth

Résolution des dépendances pour Oauth2-client avec :
> composer require league/oauth2-client

Télécharger la librairie “oauth2-google”
> wget https://codeload.github.com/thephpleagu ... zip/master

Décompresser l’archive au bonne endroit avec :
> unzip master.1 -d /var/www/html/components/PHPMailer-xoauth

Résolution des dépendances pour Oauth2-client avec :
> composer require league/oauth2-google

Déplacer le dossier “vendor” avec :
> mv vendor /var/www/html/components/PHPMailer-xoauth

Modifier les droit avec :
> chmod -R 777 /var/www/html

Modification de GestSup avec :
> nano /var/www/html/core/mail.php (A la ligne 172, remplacer le “include”)
include(“components/PHPMailer-xoauth/PHPMailerAutoload.php”)
Remplacer $mail = new PHPMailer(); par :
$mail = new PHPMailerOAuthGoogle();
> nano /var/www/html/components/PHPMailer-xoauth/class.phpmaileroauthprovider.php
abstract class PHPMailerOAuthProvider extends PHPMailer

Rendez-vous à l’adresse https://console.developers.google.com et connecter-vous avec le compte Gmail qui sera utiliser par Gestsup.
Créer un projet et activer l’API Gmail.
Dans “Identifiant”, “Ecran d’autorisation OAuth” renseigner le nom de produit.
Ensuite dans “Identifiants” cliquer sur “Ajouter des identifiants” puis “ID Client OAuth 2.0”.
Sélectionner “Application web”, saisissez le nom et renseigner dans “URI de redirection autorisé” l’adresse
http://localhost/components/PHPMailer-x ... _token.php

Récupéré le “RefreshToken” avec :
> nano /var/www/html/components/PHPMailer-xoauth/get_oauth_token.php
$redirecturi = ‘http://localhost/components/PHPMailer-x ... tokent.php
‘ClientId’ = ‘IDFourniSurLaConsoleDevelloper’
‘ClientSecret’ = ‘SecretFourniSurLaConsoleDevelloper’
Ouvrez un navigateur et saisissez l’adresse renseigner pour la variable “$redirecturi”
Choisissez “Google” et cliquer sur “Autoriser” puis récupérer le “RefeshToken”.

Configuration de PHPMailer avec :
> nano /var/www/html/components/PHPMailer-xoauth/class.phpmaileroauthprovider.php
$UserEmail = ‘benoitdupin@icmindustrie.com
$ClientSecret = ‘SecretRecuperePrecedement’
$ClientId = ‘IdRecuperePrecedement’
$RefreshToken = ‘RefreshTokenRecuperePrecedement’

Sur le compte utiliser par l’application il faut activer la double authentification et utiliser un mot de passe d’application.
Dans “Application” choisissez “Autre” et saisissez le nom de produit renseigner plus haut.
Le mot de passe d’application est à saisir dans les paramètre de GestSup.