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
Gmail
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.
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.