PDA

Ver la Versión Completa : Descargar un email con IMAP4


fide
25-10-2007, 23:40:49
Hola, la cuestion es que no se como descargar un email de un servidor IMAP. A continuacion pondre una lista de los pasos que llevo a cabo hasta intentar descargar el mail. Pero me da error!!!!!

Pasos:

Configuro el Host, el Puerto, el Nombre de usuario y la contraseña.
Despues llamo al metodo Connect;
Luego selecciono como MailBox principal la carpeta INBOX.
Seguidamente llamo al metodo retrieve para descargar el mensaje en un idMessage, pero me da una excepcion y me dice que el estado de conexion debe de ser csSelected, pero es que el estado de conexion es una propiedad de solo lectura y no se como cambiarla, o en que momento debo descargar el mensaje desde el server para que no me de error!!!

Si alguien me puede ayudar estare agradecido de cualquier ayuda brindada..

Saludos y gracias de antemanos...

fide
25-10-2007, 23:46:56
Aqui los datos de mi problema...

cliente es un TidIMAP4
mail es un TidMessage

Aqui esta el codigo que uso para descargar el mensaje desde el servidor...

¿Que es lo que esta mal, o por que me da ese error?

cliente.Host := 'miServidorIMAP';
cliente.Port := 143;

cliente.Username := 'fide';
cliente.Password := 'miPassword'

cliente.Connect;

cliente.SelectMailBox('INBOX');
cliente.Retrieve( 3, mail); //Esta es la linea que me da error o que no trabaja correctamente...

boxSubject.Text := mail.Subject;
boxFrom.Text := mail.From.Address;

for X := 0 to Pred(mail.MessageParts.Count) do
if (mail.MessageParts.Items[X] is TIdText) then
begin
boxBody.Lines.Clear;
boxBody.Lines.AddStrings(TidText(mail.MessageParts.Items[X]).Body);
end;

Por favor necesito ayuda con esto.