Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

TNMPOP3 no coincide con OutLook

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: TNMPOP3 no coincide con OutLook Responder citando

Acabo de dar por finalizado un programa que lo que hace es conectarse a un servidor con cuenta de correo entrante pop3 a través del componente TNMPOP3, el problema que he observado es que a veces, y sólo a veces, al conectar con mi programa puede que no detecte correos en el servidor y me informe que no hay nuevo correo, sin embargo al abrir paralelamente el OutLook Express si tengo nuevo correo.
¿Alguien sabe dónde puede estar el misterio?
Por si sirve de algo ahí pongo el código que se ejecuta al pulsar el botón:

void __fastcall TForm1::mnuComprobarExecute(TObject *Sender)
{
if (NMPOP31->Connected==true){
Application->MessageBoxA("Ya estamos conectados al servidor de correo.",
"¡CONECTADO!",MB_OK|MB_ICONSTOP);
}
else {
if ((Edit1->Text=="")||(Edit2->Text=="")||(Edit3->Text=="")||(Edit4->Text=="")){
ShowMessage("Deben cumplimentarse todos los campos.");
}
else {
AnsiString ruta = ExtractFilePath(Application->ExeName);
NMPOP31->AttachFilePath = ruta+"\\Archivos recibidos";
NMPOP31->Host = Edit1->Text;
NMPOP31->Port = Edit2->Text.ToInt();
NMPOP31->UserID = Edit3->Text;
NMPOP31->Password = Edit4->Text;
NMPOP31->Connect();
int i = NMPOP31->MailCount;
if (i==1){
NMPOP31->GetMailMessage(1);
TListItem *item;
item = lista->Items->Add();
item->Caption = NMPOP31->MailMessage->From;
item->SubItems->Add(NMPOP31->MailMessage->Subject);
item->SubItems->Add(NMPOP31->MailMessage->MessageId);
item->SubItems->Add(IntToStr(NMPOP31->MailMessage->Attachments->Count));
NMPOP31->MailMessage->Attachments->SaveToFile(ruta+"\\entrante\\lista1.txt");
NMPOP31->MailMessage->Body->SaveToFile(ruta+"\\entrante\\1.txt");
NMPOP31->MailMessage->Body->SaveToFile(ruta+"\\entrante\\1.html");
}
else {
if (i>1){
TListItem *ite;
for (int a=1;a<=i;a++){
NMPOP31->GetMailMessage(a);
ite = lista->Items->Add();
ite->Caption = NMPOP31->MailMessage->From;
ite->SubItems->Add(NMPOP31->MailMessage->Subject);
ite->SubItems->Add(NMPOP31->MailMessage->MessageId);
ite->SubItems->Add(IntToStr(NMPOP31->MailMessage->Attachments->Count));
NMPOP31->MailMessage->Attachments->SaveToFile(ruta+"\\entrante\\"+"lista"+IntToStr(a)+".txt");
NMPOP31->MailMessage->Body->SaveToFile(ruta+"\\entrante\\"+IntToStr(a)+".txt");
NMPOP31->MailMessage->Body->SaveToFile(ruta+"\\entrante\\"+IntToStr(a)+".html");
}
}
}
if (NMPOP31->MailCount>0){
StatusBar1->SimpleText = IntToStr(NMPOP31->MailCount)+" Mensajes recibidos.";
PlaySound("mail.wav",0,SND_ASYNC);
}
else {
StatusBar1->SimpleText = "No hay mensajes.";
PlaySound("cuervo.wav",0,SND_ASYNC);
}
}
}
}
Shocked
_________________
¡ADELANTE CON ESTE SUPER FORO!
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Hola Turqui, yo hice una aplicación que revisa y envía correo usando NMPOP3 y NMSMTP.
Como ya te había dicho no tengo conocimientos teóricos pero sí prácticos, así que esto es lo que yo veo:

NMPOP31->Connect();
int i = NMPOP31->MailCount;
if (i==1){

En este pedazo de código, le estas diciendo que se conecté y asigne a i el número de mensajes, pero a mi modo de ver la función Connect no es inmediata, depende de la velocidad con se conecte al servidor así que le estas asignando el valor 0 a veces. Te recomiendo que coloques todo los que esta después de Connect() en el evento de NMPOP3 OnConnect. Asimismo con la función GetMailMessage() coloca lo que venga después en el evento OnRetrieveEnd.
Turqui a mi me sirve mi aplicación, si esto no te ayuda avísame, porque estoy seguro que puedo ayudarte.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Gracias temerario, tus indicaciones me han sido de gran ayuda, ahora parece que el programa va OK.
Saludos.
_________________
¡ADELANTE CON ESTE SUPER FORO!
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.