Page 2 of 3

Re: GMail no funciona

PostPosted: Mon Apr 04, 2022 8:29 am
by Baxajaun
Hola Paco,

la clase de Matteo Baccan sólo permite los siguientes algoritmos:

HS256
HS384
HS512

Hacen falta algunos más:

Image

Muchas gracias.

Saludos,

Re: GMail no funciona

PostPosted: Mon Apr 04, 2022 3:10 pm
by hmpaquito
Baxajaun wrote:Hola Paco,

la clase de Matteo Baccan sólo permite los siguientes algoritmos:

HS256
HS384
HS512

Hacen falta algunos más:

Image

Muchas gracias.

Saludos,



Félix,

Pero imagino que para generar un token de intercambio OAuth 2.0 será suficiente con uno de los algoritmos.

¿ Cómo lo ves tu ?

Salu2

Re: GMail no funciona

PostPosted: Mon Apr 04, 2022 5:26 pm
by Baxajaun
Hola Paco,

si pasas por el siguiente enlace https://developers.google.com/identity/protocols/oauth2/service-account#jwt-auth para usar JWT con GMail, necesitamos el algoritmo RS256 que la implementación de JWT de Mateo Baccan no soporta.

Muchas gracias.

Saludos,

Re: GMail no funciona

PostPosted: Mon Apr 04, 2022 7:12 pm
by hmpaquito
Gracias Félix

Re: GMail no funciona

PostPosted: Tue Apr 05, 2022 6:28 am
by Carles
Buenas,

Habeis usado el factor de doble validación?. Si no lo cambiais, no lo vais a poder a usar

Básicamente una vez tienes la key que te asignan, accediendo por ejemplo via curl ha de funcionar perfectamente.

C.

Re: GMail no funciona

PostPosted: Tue Apr 05, 2022 7:48 am
by hmpaquito
Hola Carles,

Gracias por la respuesta.

En mi caso me he topado con varias situaciones relacionadas con gmail y cdosys.
Ahora mismo tengo los problemas pacificados sin usar la doble validacion.

Necesitariamos validacion con OAuth 2.0 y para eso necesitamos RS256

Salu2

Re: GMail no funciona

PostPosted: Tue Apr 05, 2022 9:42 am
by Carles
Paco,

A ver, yo estoy usando este ejemplo desde modHarbour usando cuenta con doble validacion y funciona correctamente.

Code: Select all  Expand view
#include "hbcurl.ch"

function main()

    local hCredentials := { "type" => "gmail", "user" => "mi-user@gmail.com", "key" => "mi_token_de_seguridad_gmail"   }

    ? 'SEND', Send_Gmail( hCredentials[ 'user' ], hCredentials[ 'key' ], 'Charly', 'charly@su-mail.com', 'Test...', 'Hola...' )

retu nil


//----------------------------------------------------------------------------//

function Send_Gmail( cUser_From, cKey, cTo_Alias, cTo_Address, cTitle, cMsg )
   
  local d           := date()
  local cDate       := CDow(d) + ', ' + ltrim(str(day(d))) + ' ' + cMonth(d) + ' ' + ltrim(str(year(d))) + ' ' + time()
  local cTempFile   := TempFile( hb_getenv( 'PRGPATH' ) + '/data'  , 'txt' )  
  LOCAL hCurl, uValue, nHandle, cTxt


// "Date: Tue, 3 Feb 2021 20:40:16" + CRLF + CRLF  +;

  if ! empty( hCurl := curl_easy_init() )    

    cTxt    :=  "From: Chatbour <" + cUser_From + ">" + CRLF +;
                "To: " + cTo_Alias + " <" + Alltrim( cTo_Address) + ">" + CRLF+;
                "Subject: " + cTitle + CRLF +;
                "Date: " + cDate + CRLF + CRLF  +;
                cMsg                
   
    nHandle := Fcreate(cTempFile)
    Fwrite(nHandle,cTxt )
    FClose(nHandle)


    curl_easy_setopt(hCurl, HB_CURLOPT_USE_SSL, HB_CURLUSESSL_TRY )  
    curl_easy_setopt(hCurl, HB_CURLOPT_UPLOAD )
    curl_easy_setopt(hCurl, HB_CURLOPT_USERNAME, cUser_From )
    curl_easy_setopt(hCurl, HB_CURLOPT_PASSWORD, cKey )
    curl_easy_setopt(hCurl, HB_CURLOPT_URL, "smtps://smtp.gmail.com:465")
    curl_easy_setopt(hCurl, HB_CURLOPT_PROTOCOLS, hb_bitOr( HB_CURLPROTO_SMTPS, HB_CURLPROTO_SMTP ) )  
    curl_easy_setopt(hCurl, HB_CURLOPT_TIMEOUT_MS, 5000 )
    curl_easy_setopt(hCurl, HB_CURLOPT_FOLLOWLOCATION, 1)
    curl_easy_setopt(hCurl, HB_CURLOPT_SSL_VERIFYPEER, 0)
    curl_easy_setopt(hCurl, HB_CURLOPT_MAIL_FROM, cUser_From )
    curl_easy_setopt(hCurl, HB_CURLOPT_MAIL_RCPT, { cTo_Address })
    curl_easy_setopt(hCurl, HB_CURLOPT_VERBOSE, 0)
    curl_easy_setopt(hCurl, HB_CURLOPT_UPLOAD, 1)    
    curl_easy_setopt(hCurl, HB_CURLOPT_UL_FILE_SETUP, cTempFile )                  
   
    IF (nret:=curl_easy_perform( hCurl )) == 0
      uValue := nret
    ELSE
      uValue := nret
    ENDIF   
   
  ENDIF
 
  fErase( cTempFile )
 
  curl_easy_cleanup( hCurl )  

RETURN uValue   

//----------------------------------------------------------------------------//


No lo he compilado con FWH porque ahora no lo uso, pero deberia funcionar si o si. Solo deberias cambiar la linea de definicion de cTempFile y adaptarla a vuestra manera. Y no olvidaros de parametrizar vuestra cuenta de gmail a doble verificacion y opbtener la key.

Saludos.
C.

Re: GMail no funciona

PostPosted: Tue Apr 05, 2022 9:54 am
by hmpaquito
Muchas gracias Carles.

Nos has abierto una nueva puerta para evadir las limitaciones de GMail.

Muchas gracias en nombre de todos los que integramos el foro

Re: GMail no funciona

PostPosted: Tue Apr 05, 2022 6:43 pm
by Armando
Muchachos:

Gracias por el interés en el tema, ojala lleguemos a brincar este problema.

Saludos

Re: GMail no funciona

PostPosted: Wed Apr 13, 2022 10:04 pm
by wilsongamboa
Buenas tardes compañeros
lo de charly funciona muy bien muchas gracias Charly Peeerooo
no he logrado enviar adjuntos, es decir si llegan pero llegan mal

he probado con
Code: Select all  Expand view

curl_easy_setopt( hCurl, HB_CURLOPT_MIMEPOST, { ;
       { "filedata" => "d:\discoc\send\_Result.pdf" } } )
 


alguna alma caritativa que lo haya logrado con curl
gracias de antemano
saludos

Re: GMail no funciona

PostPosted: Wed May 11, 2022 11:57 am
by gmart1
Buenos días, he probado la solución de Charly y obtengo el siguiente error:
Image
En hbcurl.ch viene definido
Code: Select all  Expand view
#define HB_CURLE_LOGIN_DENIED                 67 /* user, password or similar was not accepted and we failed to login */

Entonces no estoy usando la contraseña adecuada y no he entendido bien lo siquiente
Y no olvidaros de parametrizar vuestra cuenta de gmail a doble verificacion y opbtener la key.

La he obtenido desde "Gestionar tu cuenta de Google" - "Seguridad" - "Contraseñas de aplicaciones". He usado la aplicación "Correo" y me ha dado una clave de 16 letras.
Alguna idea de qué estoy haciendo mal.
Gracias.

Re: GMail no funciona

PostPosted: Wed May 11, 2022 5:02 pm
by Armando
gmart1 o alguien del foro:

Serias tan amable de mostrar el trozo de tu código donde haces la doble validación
(Donde usas la contraseña que obtuviste de google)

Gracias y saludos

Re: GMail no funciona

PostPosted: Thu May 12, 2022 5:55 am
by Carles

Re: GMail no funciona

PostPosted: Thu May 12, 2022 1:58 pm
by Armando
Carles:

Gracias por responder, ya tengo activada la validación en 2 pasos, obtengo una contraseña muy larga,
pero no encuentro donde o cómo usar esa contraseña :cry:

Saludos

Re: GMail no funciona

PostPosted: Thu May 12, 2022 2:50 pm
by hmpaquito
2.3 Use this password instead of gmail's password.
from http://fivetechsupport.com/forums/viewt ... 75#p250196