IdMessage & IdPOP3 [Résolu]

cs_Lelys 18 Messages postés jeudi 6 novembre 2003Date d'inscription 9 mars 2008 Dernière intervention - 23 mars 2006 à 19:38 - Dernière réponse : cs_Lelys 18 Messages postés jeudi 6 novembre 2003Date d'inscription 9 mars 2008 Dernière intervention
- 30 mars 2006 à 02:29
Bonjour ,

Je suis en train de programmer un notificateur d'e-mail et j'ai un petit problème (enfin petit mais très embêtant pour un notificateur...), c'est à dire que je souhaiterais que lorsque le notificateur notifi un e-mail, l'e-mail soit noté "reçu" par le fournisseur d'e-mail.

Attention, je ne veux pas qu'il soit noté comme lu, mais comme "reçu", comme quand, par exemple, Outlook reçoi un e-mail, il le note reçu sur le serveur pour ne pas le reçevoir en double.

J'ai fais des tests, c'est à dire que je me suis envoyé un e-mail, je l'ai récupéré avec un logiciel d'e-mail, et mon notificateur n'a donc pas notifié l'e-mail, par contre, si je ne reçois pas le mail dans le logiciel d'e-mail, mon notificateur le notifi, mais à l'infini, tant qu'il n'est pas supprimé ou marqué comme reçu en POP3...

Je cherche donc une fonction du type "IdMessage.la_fonction(lemail);" (ou "IdPOP3.la_fonction(lemail);").

Je suis peut-être pas très clair ...

J'ai cherché un peu partout mais rien trouvé...

Merci d'avance pour vos réponses ^^.

Lelys
Afficher la suite 

5 réponses

Répondre au sujet
pablor44 60 Messages postés mercredi 18 décembre 2002Date d'inscription 3 octobre 2006 Dernière intervention - 26 mars 2006 à 15:20
+3
Utile
Outlook, quand il reçoit les messages, les effaces du même coup du serveur. Toi c'est différent tu veux juste prévenir quand un nouveau message arrive sans le supprimer du serveur pour que tu puisses le recevoir ensuite dans outlook par exemple, c'est bien ça?

Moi je te conseil de créer un hash md5 a partir des entêtes du messages et de les garder en local comme signature pour les prochaines conexions.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de pablor44
cs_Lelys 18 Messages postés jeudi 6 novembre 2003Date d'inscription 9 mars 2008 Dernière intervention - 30 mars 2006 à 02:29
+3
Utile
Alors j'ai trouvé la solution pour que les messages ne soient notifiés qu'une fois, il suffit d'ajouter dans un fichier (txt par exemple) l'id serveur du message (ex.: <1709179133.1143616445719.JavaMail.SYSTEM@sj-v3conta09>), un id ne peux exister qu'une fois, donc les e-mails suivant seront bien tous notifiés.

A chaques récéption d'un nouvel e-mail:

Var FichierMails: TextFile; LireFMails: String;
begin
//On ajoute le mail au fichier texte
LireFMails := LireFMails+IdMessage.MsgId; //On ajoute le nouvel id à la suite des autres
AssignFile(FichierMails,'emails.mls'); //On assigne le fichier
Append(FichierMails); //On ouvre le fichier
Write(FichierMails,LireFMails); //On écrit le fichier avec les nouvelles données
CloseFile(FichierMails); //On ferme le fichier
end;
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_Lelys
pablor44 60 Messages postés mercredi 18 décembre 2002Date d'inscription 3 octobre 2006 Dernière intervention - 25 mars 2006 à 11:21
0
Utile
Bonjour Lelys,
j'ai un peu cherché sur le net pour essayer de répondre à ta question et je n'ai malheuresement pas trouvé de commande dans le protocole POP permetant de faire ce que tu souhaites, de plus je pense que pour ne pas se gêner entre eux les logiciels comme outlook gère la liste des messages qu'ils ont déjà reçu en local.

Sinon un petit lien sur le protocole POP3 : http://www.iprelax.fr/pop/pop_rfcfrTOC.php
Commenter la réponse de pablor44
cs_Lelys 18 Messages postés jeudi 6 novembre 2003Date d'inscription 9 mars 2008 Dernière intervention - 25 mars 2006 à 12:14
0
Utile
Merci pour ta réponse

Et bien j'ai moi aussi cherché sur le net, et je n'ai encore rien trouvé à ce sujet...

Ce qui est bizarre, c'est que si par exemple je reçois un mail dans Outlook de mon adresse Gmail, le mail en question n'est pas reçu par aucun autre logiciel (genre Incrédimail, Outlook Express même, mon notificateur, etc...), donc je ne pense pas que les mails sois noté comme reçus en local , mais je crois que c'est ce que je vais faire dans mon notificateur...

En fait, en gros, je note les numéros "internes" des messages dans un fichier texte quand il sont reçus et je dis à mon logiciel de ne pas les afficher si il tombe sur leur numéro ou quelque chose comme ça ?

Merci pour le lien ^^.

Lelys
Commenter la réponse de cs_Lelys
cs_Lelys 18 Messages postés jeudi 6 novembre 2003Date d'inscription 9 mars 2008 Dernière intervention - 26 mars 2006 à 20:50
0
Utile
Pour Outlook je ne sais pas, mais la plus-part des "mailer" on une option pour ne pas supprimer le messages du serveur.

Oui, je veux juste que le message soit signalé par mon logiciel et qu'ensuite l'utilisateur aille dans son "mailer" ou sur le site de son e-mail pour voir le mail (mon logiciel emmène vers "la boite de réception page web" en un click).

Et bien je ne sais pas exactement ce qu'est un hash md5... je cherche ça tout de suite.

Merci pour tes réponses!

Lelys
Commenter la réponse de cs_Lelys

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.