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
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure EnableProxy(Server: String);
begin
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);
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.