Ver Mensaje Individual
  #1  
Antiguo 06-09-2012
MARLON1 MARLON1 is offline
Miembro
 
Registrado: nov 2007
Posts: 118
Reputación: 17
MARLON1 Va por buen camino
Peticiones a un Proxy!!

Hola a todos:

Hace tiempo que tengo este problemilla he desarrollado una aplicacion con ayuda del foro, esta aplicacion descarga emails del servidor mail.itelcel.com y procesa dicha informacion, hasta ahora no hay ningun problema en redes "abiertas" (sin restricciones), pero no he logrado que se descarguen en una red con restricciones eh intentado configurando desde codigo el servidor proxy al que envio la peticon y este me de la salida correspondiente pero sigo en "CEROS" .

hice esta prueba! segun yo asigno la configuracion LAn pero sigue en las mismas error ' connection gracefully closed'.
Código Delphi [-]

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,Registry, IdMessage, IdIOHandler, IdIOHandlerSocket,
  IdIOHandlerStack, IdSSL, IdSSLOpenSSL, IdBaseComponent, IdComponent,
  IdTCPConnection, IdTCPClient, IdExplicitTLSClientServerBase, IdMessageClient,
  IdPOP3,IdText;

type
  TForm1 = class(TForm)
    Button1: TButton;
    IdPOP31: TIdPOP3;
    IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL;
    IdMessage1: TIdMessage;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure EnableProxy(Server: String);
begin
//asignar configuracion del proxy
  with TRegistry.Create do
    try
      RootKey:= HKEY_CURRENT_USER;
      if OpenKey('Software\Microsoft\Windows\CurrentVersion\Internet Settings',FALSE) then
    begin
       WriteInteger('ProxyEnable',1);
       WriteString('proxy.cna.gob.mx',Server);
       //WriteString('ProxyOverride',''); // Usar si hace falta
      end;
    finally
      Free;
  end;
EnableProxy('proxy.cna.gob.mx:80');
end;

procedure TForm1.Button1Click(Sender: TObject);
var
no,i,f:integer;
medidor:string;
begin

 try
   idpop31.Username := 'user@itelcel.com';
   idpop31.Password := 'contraseña';
   idpop31.Disconnect;
   idpop31.Connect;
   no:=idpop31.CheckMessages;
  finally
   idpop31.Retrieve(no,idMessage1);

      for i:=0 to idMessage1.MessageParts.Count - 1 do     begin
        if (idMessage1.MessageParts.Items[i] is TIdText) then
          memo1.Lines.AddStrings( TIdText(idMessage1.MessageParts.Items[i]).Body);
  end;
Sleep(2000);
memo1.Lines.Text:=idmessage1.Body.Text;
medidor:=IdMessage1.Subject;

 end;
showmessage(IntToStr(no));

end;

end.

aqui saco el contenido del mensaje, ojala me pudieran ayudar.

Utilizo componentes Indy...

POP3

host: pop.itelcel.com.mx
user: 'user@itelcel.com'
pass: contraseña
port: 110
IOHandler:IdSSLIOHandlerSocketOpenSSL1

IdSSLIOHandlerSocketOpenSSL1
idMessage

gracias por la ayuda.
Responder Con Cita