 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Tugui Master


Registrado: 09 Nov 2002Mensajes: 663
|
Publicado: Mie 09 Jul, 2003 9:44 pm Asunto: TNMPOP3 no coincide con OutLook |
|
|
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);
}
}
}
}
 _________________ ¡ADELANTE CON ESTE SUPER FORO! |
|
| Volver arriba |
|
 |
Temerario Ens

Registrado: 08 Jul 2003Mensajes: 36Ubicación: Barranquilla (Colombia)
|
Publicado: Jue 10 Jul, 2003 12:03 am Asunto: |
|
|
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 |
|
 |
Tugui Master


Registrado: 09 Nov 2002Mensajes: 663
|
Publicado: Jue 10 Jul, 2003 2:24 pm Asunto: |
|
|
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 |
|
 |
|
|
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
|
© 2002–2026 Club Builder · Funciona con phpBB.
|