Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pages: 1
Bonsoir à tous,
Je dois envoyer des mails depuis mon application sur le serveur SMTP de Gmail.
Je le fais déjà sur les serveurs Exchange via BLAT et ça fonctionne bien.
Pour Gmail il faut installer le service Stunnel qui fait une liaison SSL.
la connexion Stunnel fonctionne bien
Blat se connecte bien au serveur Gmail mais se bloque lors de l'identification au compte utiliser
j'utilise les paramètres blat suivant
-server "localhost:1099" -port "465" -u "xxx@gmail.com" -pw "pass" -f "xxx@gmail.com" -to "test@test.com" -bcc "xxx@gmail.com" -subject "test " -q -debug -log "blat.log" -timestamp -try "5"
Voici le log de Blat
2015.12.02 16:35:26 (Wed)------------Start of Session-----------------
2015.12.02 16:35:26 (Wed): <<<getline<<< 220 smtp.gmail.com ESMTP 186sm3734801wmv.9 - gsmtp
2015.12.02 16:35:26 (Wed): >>>putline>>> EHLO pp-chgw7
2015.12.02 16:35:26 (Wed): <<<getline<<< 250-smtp.gmail.com at your service, [212.166.43.57]
2015.12.02 16:35:26 (Wed): <<<getline<<< 250-SIZE 35882577
2015.12.02 16:35:26 (Wed): <<<getline<<< 250-8BITMIME
2015.12.02 16:35:26 (Wed): <<<getline<<< 250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH
2015.12.02 16:35:26 (Wed): <<<getline<<< 250-ENHANCEDSTATUSCODES
2015.12.02 16:35:26 (Wed): <<<getline<<< 250-PIPELINING
2015.12.02 16:35:26 (Wed): <<<getline<<< 250-CHUNKING
2015.12.02 16:35:26 (Wed): <<<getline<<< 250 SMTPUTF8
2015.12.02 16:35:26 (Wed): Sending C:\Sybase\PB6\tmp_bdy.txt to xxx@test.com, xxx@gmail.com
2015.12.02 16:35:26 (Wed): Subject: test
2015.12.02 16:35:26 (Wed): Login name is xxx@gmail.com
2015.12.02 16:35:26 (Wed): Try number 1 of 5.
2015.12.02 16:35:26 (Wed): >>>putline>>> AUTH PLAIN AG15IHVzZXIgbmFtZQBzZWNyZXQ=
2015.12.02 16:35:26 (Wed): <<<getline<<< 535-5.7.8 Username and Password not accepted. Learn more at
2015.12.02 16:35:26 (Wed): <<<getline<<< 535 5.7.8 https://support.google.com/mail/answer/14257 186sm3734801wmv.9 - gsmtp
2015.12.02 16:35:26 (Wed): *** Warning *** The SMTP server did not accept Auth PLAIN value.
*** Warning *** Are your login userid and password correct?
2015.12.02 16:35:26 (Wed): >>>putline>>> AUTH LOGIN
2015.12.02 16:35:26 (Wed): <<<getline<<< 334 VXNlcm5hbWU6
2015.12.02 16:35:26 (Wed): >>>putline>>> bXkgdXNlciBuYW1l
2015.12.02 16:35:26 (Wed): <<<getline<<< 334 UGFzc3dvcmQ6
2015.12.02 16:35:26 (Wed): >>>putline>>> c2VjcmV0
2015.12.02 16:35:26 (Wed): <<<getline<<< 535-5.7.8 Username and Password not accepted. Learn more at
2015.12.02 16:35:26 (Wed): <<<getline<<< 535 5.7.8 https://support.google.com/mail/answer/14257 186sm3734801wmv.9 - gsmtp
2015.12.02 16:35:26 (Wed): *** Warning *** The SMTP server did not accept Auth LOGIN PASSWD value.
2015.12.02 16:35:26 (Wed): >>>putline>>> QUIT
2015.12.02 16:35:27 (Wed): <<<getline<<< 221 2.0.0 closing connection 186sm3734801wmv.9 - gsmtp
2015.12.02 16:35:27 (Wed)-------------End of Session------------------
J'ai également essayé en utilisant comme code utilisateur -u "xxx" sans @gmail.com et -u "utilisateur" avec le nom figurant comme utilisateur dans le compte gmail.
Quelqu'un aurait-il déjà utilisé blat et stunnel ou pourrait me dire quel user je dois utiliser ?Edit: remplacement des logins et mots de passe
Dernière modification par Chrisgoff (21-12-2015 17:21:59)
Hors ligne
Je ne pilote pas de programme pour envoyer des mail via le serveur de google, mais je connais assez bien SMTP.
gmail a écrit:
2015.12.02 16:35:26 (Wed): <<<getline<<< 250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH
Ici le serveur de gmail liste les différentes méthodes d'authentification supportées, on y voit "LOGIN" et "PLAIN"
Quand un serveur supporte "LOGIN", à la commande "AUTH LOGIN" il répond "Username:" puis "Password:" encodé en base64, auquel il faut lui répondre le login et mot de passe encodés en base64.
La base64 n'est pas sécurisée, c'est juste un moyen de transmettre des accents et des caractères ascii étendus avec seulement des caractères ascii de base en 7 bits, inférieurs à 128 c'est illisible dans le log mais ça se décode simplement :
mon shell a écrit:
$ echo VXNlcm5hbWU6 |base64 -D
Username:
Note: J'ai supprimé ton mot de passe de tes logs pour t'éviter des désagréments... mais tu devrais sans doute le remplacer.
Ici on a :
gmail a écrit:
2015.12.02 16:35:26 (Wed): >>>putline>>> AUTH LOGIN
2015.12.02 16:35:26 (Wed): <<<getline<<< 334 VXNlcm5hbWU6
2015.12.02 16:35:26 (Wed): >>>putline>>> bXkgdXNlciBuYW1l
2015.12.02 16:35:26 (Wed): <<<getline<<< 334 UGFzc3dvcmQ6
2015.12.02 16:35:26 (Wed): >>>putline>>> c2VjcmV0
2015.12.02 16:35:26 (Wed): <<<getline<<< 535-5.7.8 Username and Password not accepted. Learn more at
2015.12.02 16:35:26 (Wed): <<<getline<<< 535 5.7.8 https://support.google.com/mail/answer/14257 186sm3734801wmv.9 - smtp
Le serveur répond correctement "Username:" et "Password:" à la commande "AUTH LOGIN" mais ensuite il indique une erreur de login refusé.
Dans le cas de la méthode "PLAIN", le client envoie un auth-id, le login et le mot de passe, séparés par un NUL (= auth-id\0username\0password ), le tout en base64. Ici le auth-id est vide.
Dans to cas :
gmail a écrit:
2015.12.02 16:35:26 (Wed): >>>putline>>> AUTH PLAIN AG15IHVzZXIgbmFtZQBzZWNyZXQ=
2015.12.02 16:35:26 (Wed): <<<getline<<< 535-5.7.8 Username and Password not accepted. Learn more at
2015.12.02 16:35:26 (Wed): <<<getline<<< 535 5.7.8 https://support.google.com/mail/answer/14257 186sm3734801wmv.9 - gsmtp
Comme précédemment, le serveur rejette le login.
Je pense que ton blocage est lié à une "fonctionnalité" de gmail : ils poussent pour utiliser la méthode d'authentification XOAUTH / XOAUTH2 qu'ils jugent plus sécurisée que les anciennes LOGIN, PLAIN (sans doute à juste titre comme je l'ai montré), et bloquent par défaut les anciennes méthodes. Tu devrais regarder du côté du lien indiqué dans la réponse du serveur : Un lien fourni dans cette page indique comment "Modifier vos paramètres pour permettre aux applications moins sécurisées d'accéder à votre compte."
Edit: je viens de faire quelques tests avec un bout de Perl et mon compte gmail et ça passe une fois activé ces fameuses "applications moins sécurisées". Mais j'ai dû passer quand même par une connexion en TLS/SSL.
Dernière modification par seki (06-12-2015 12:09:18)
Hors ligne
Bonjour Seki,
Merci pour la suppression du mot de passe dans mon post.
Grâce à tes explications mon problème n'en est plus un...
Belle journée.
P.S.: Comment clôturer la discussion ?
Hors ligne
Chrisgoff a écrit:
P.S.: Comment clôturer la discussion ?
Bonjour, il te suffit d'éditer le premier post de ce topic, et d'ajouter [RESOLU] au début du titre de celui-ci
Hors ligne
Bonjour et content d'avoir pu aider
Chrisgoff a écrit:
Comment clôturer la discussion ?
En allant sur le message de début du fil, tu peux le modifier et modifier le titre pour ajouter "[RESOLU]"
Hors ligne
Pages: 1