Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   URGENTE: Al dar a un boton conectar a una cuenta de correo directamente (https://www.clubdelphi.com/foros/showthread.php?t=20916)

Bogeyman 29-04-2005 14:36:10

URGENTE: Al dar a un boton conectar a una cuenta de correo directamente
 
:( Hola
Necesito saber como, al pulsar un boton se abra un navegador o algo asi y entre en una cuenta de correo directamente, sin necesidad de introducir login y password.
La verdad es que no se por donde empezar. Si hay alguna manera de hacerlo, ¿Alguien tiene alguna idea?
Gracias por anticipado.

Fita 01-05-2005 15:31:47

Te recomiendo conseguir alguna libreria de componentes para internet. Entre las que conozco se encuantran Internet Component Suite (ICS) de F. Piette que es gratuita o la Clever Internet Suite (creo que es comercial). Con estas librerias puedes desarrollar hasta tu propio cliente de correo (en ambas vienen ejemplos).
Si lo que necesitas es algo mas sencillo (como enviar mails) puedes usar varias librerias que traen componentes para correo (JVCL, LMD, entre otras...)
Ademas en Delphi tienes la paleta de componentes Indy...

Espero te sirva como punto de partida...

Saludos
Fita

JXJ 01-05-2005 19:44:47

Yo creo que si le entendi a Bogeyman, quiere por ejemplo
tener un boton que dice, conectar a cuenta de correo. por ejemplo hotmail.
y al presionarlo, se abra el navegador predetermintado, o el que uno elija,
y en el navegador, ademas para faciliar el acceso a la cuenta el boton puede tomar los datos, de unos TEdits. que contengan el usuario y la contraseña,
------------------------

El problema es que yo quiero hacer lo mismo, pero no se como concatenar, el usuario la contraseña, para ingresar , a mis cuentas de correo de hotmail yahoo, y gmail.

----------------------------

Alguien que pueda corrernos unos ejemplos con codigo.

zastilla 04-09-2005 11:30:54

lastima que nadie haya sabido responder tu pregunta , era un tema muy interesante

Draker 02-05-2008 19:20:04

Hola, como siempre buscando unas cosas encuentras otras, y este tema como bien lo dice zastilla, es relamente interesante, bien pues yo les paso lo que he realizado, por ejemplo el trabajo sería sobre la pagina de Hotmail (aqui utilizaremos el componente TWebBrowse):

1.- Para ello buscariamos la página que pide logearse y en tu botón de conexión pones:
Código Delphi [-]
WN.Navigate('http://login.live.com/login.srf?');

2.- Ahora lo que tenemos que averiguar es el nombre de los elementos a los que les pasaremos los parametros, para ello, hay que averiguar el codigo de la pagina (cualquier navegador lo hace ejemplo: Maxthon), para el ejemplo dentro del codigo vemos algo como:

Dirección de correo electrónico:
input name="login" type="text"
Contraseña:
input name="passwd" type="password"
El botón de Iniciar Sesion:
input name="SI" type="submit" value=" Iniciar sesión "


En este caso lo que nos interesa son los input name, van a variar dependiendo de la pagina, obviamente la talacha sera buscar estos elementos y prevenir si no los encontramos, para que sea actualizado el codigo de nuestro programa.

2.- Ahora el que controla los parametros que pasaremos sera el evento DocumentComplete del WebBrowser, y nos ayudaremos de la interfaz IDispatch, para pasar los parametros, te dejo el código de el evento:

Código Delphi [-]
procedure TForm1.WNDocumentComplete(Sender: TObject;const pDisp: IDispatch; var URL: OleVariant);
var
  iDisp: IDispatch;
  iColl: IHTMLElementCollection;
  iDoc: IHtmlDocument2;
  i: integer;
  ov: OleVariant;
  iInputElement: IHTMLInputElement;
begin
  WN.ControlInterface.Document.QueryInterface(IHtmlDocument2, iDoc);
  If Not assigned(iDoc) then begin
    ShowMessage('Página de Correo no Valida!!!!! ... ');
    Exit;
  end;
  ov := 'INPUT';
  IDisp := iDoc.all.tags(ov);
  If assigned(IDisp) Then
  Begin
    IDisp.QueryInterface(IHTMLElementCollection, iColl);
    If assigned(iColl) Then
    Begin
      For i:=1 To iColl.Get_length Do
      Begin
        iDisp := iColl.item(pred(i), 0);
        iDisp.QueryInterface(IHTMLInputElement, iInputElement);
        If assigned(iInputElement)
        Then
          Begin
            If iInputElement.Get_name = 'login'  Then iInputElement.Set_value('tucorreo@hotmail.com');
            If iInputElement.Get_name = 'passwd' Then iInputElement.Set_value('lacontraseña');
            If iInputElement.Get_name = 'SI'     Then iInputElement.Get_form.submit;
          End;
      End;
    End;
  End;
End;

Bueno pongo esto por que muchos estamos buscando información en lo foros y da cosa que encontremos el hilo que nos interesa y no veamos informacion que nos ayude, esperoque les sea de utilidad, yo lo utilizo con D7...


La franja horaria es GMT +2. Ahora son las 14:19:08.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi