Recevoir ses emails

Résolu
Also know as Messages postés 259 Date d'inscription samedi 13 décembre 2003 Statut Membre Dernière intervention 22 novembre 2010 - 23 juin 2005 à 17:55
cs_pebayart Messages postés 17 Date d'inscription mercredi 28 juillet 2004 Statut Membre Dernière intervention 6 février 2014 - 22 mars 2006 à 01:45
Bonjour à tous,





Voilà je suis débutant en delphi et je cherche à créer un certain
programme mais pour cela j'ai besoin de pouvoir télécharger mes
fichiers de ma messagerie.


Mais je ne trouve nul part, sur votre forum j'ai aussi checrher mais tout le monde apparemment sait récupérer les emails.





Est-ce que quelqu'un pourrait m'éclairer ?





J'ai trouver le composant IdPOP3 qui à l'air de pouvoir me servir mais je ne sais pas faire quoi que ce soit avec celui-ci.




Je souhaiterais par exemple me connecté à un compte yahoo puis
télécharger mes emails tout en laissant les messages sur le compte
mail.





Est-ce que cela est possible au moins sous Delphi ?





Merci d'avance de vos réponses

4 réponses

Filipe35 Messages postés 470 Date d'inscription vendredi 14 novembre 2003 Statut Membre Dernière intervention 23 octobre 2007 1
23 juin 2005 à 19:20
Non je n'ai pas de source toute prête.
J'avoue que ton idée est interessante, et que de programmer ce logiciel me serait utile pour mes comptes yahoo.

Ca me fera quelque chose à faire pendant les vacances.....

envoie moi ton mail par MP (msn si possible)
mais sache que l'on ne commencera pas avant demain.

Idée:
Connexion par POP, vérification de présence des mails
si oui on va les chercher en HTTP avec les fichiers.

Une fois qu'on l'aurat finit on la postera ici pour que tout le monde en profite.

Filipe

Cliquer sur reponse acceptée si elle vous convient.
3
Filipe35 Messages postés 470 Date d'inscription vendredi 14 novembre 2003 Statut Membre Dernière intervention 23 octobre 2007 1
23 juin 2005 à 18:16
heu oui je pense que c'est possible mais le pop de yahoo est quelques fois capricieux.

Que veux tu faire exactement.

Te connecter à Yahoo (faisable)
Voir si il y a des messages (faisable)
Si oui on les récupères (faisable)
Si certains contiennent des fichiers joints on les prends. (faisable, compliké et risqué dans certains cas (trojan,virus,...etc..)

Voila déja quelque chose qui peut te servir, c'est un prog que j'ai fait juste pour savoir si on à des nouveau message ds sa boite.

unit Unit1;


interface


uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ScktComp;


type
TForm1 = class(TForm)
POP: TClientSocket;
user: TEdit;
pass: TEdit;
Check: TButton;
log: TMemo;
procedure CheckClick(Sender: TObject);
procedure POPConnecting(Sender: TObject; Socket: TCustomWinSocket);
procedure POPDisconnect(Sender: TObject; Socket: TCustomWinSocket);
procedure POPError(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
procedure POPConnect(Sender: TObject; Socket: TCustomWinSocket);
procedure POPRead(Sender: TObject; Socket: TCustomWinSocket);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;


var
Form1: TForm1;
connect : integer;


implementation


{$R *.DFM}


procedure TForm1.CheckClick(Sender: TObject);
var
i:integer;
begin


// INIT
connect := 0;


// Connexion Serveur.
POP.Host := 'pop.mail.yahoo.fr ';
POP.Port := 110;
POP.open;


// Connexion établie ? 10sec de test
for i := 1 to 10 do
begin
if connect = 0 then
sleep(1000)
else
POP.Socket.SendText('user '+user.text);
break;
end;


// Pas de connexion établie ?
If connect = 0 then ShowMessage ('La connexion avec le serveur à échoué.');


end;


procedure TForm1.POPConnecting(Sender: TObject; Socket: TCustomWinSocket);
begin
log.Lines.Add ('Connexion en cours...');
end;


procedure TForm1.POPDisconnect(Sender: TObject; Socket: TCustomWinSocket);
begin
log.Lines.Add ('Connexion perdue');
end;


procedure TForm1.POPError(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
begin
log.Lines.Add ('Erreur survenue');
end;


procedure TForm1.POPConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
log.Lines.Add ('Connexion établie');
connect := 1;
end;


procedure TForm1.POPRead(Sender: TObject; Socket: TCustomWinSocket);
var
data : string;
okay : integer;
begin


data := Socket.ReceiveText;
okay := 0;


if data = '+OK password required' then
begin
POP.Socket.SendText('pass '+pass.text);
okay := 1;
end;


if data = '+OK maildrop ready' then
begin
POP.Socket.SendText('stat');
okay := 1;
end;
{
if data = '+OK ' then
begin
POP.Socket.SendText('pass '+pass.text);
okay := 1;
end;
}
if okay = 0 then showmessage ('Le message d erreur suivante c est prosuit: ' +data);


log.Lines.Add(data);



end;


end.

Ce que tu as besoin de mettre sur ta form (nom):
Un bouton (Check)
Deux EditBox (user et pass)
memo (log)
un ClientSocket (pop)

voila voilu, ca ne répond peut-être pas à ta question mais ca peut te donner des idées.

Filipe
0
Also know as Messages postés 259 Date d'inscription samedi 13 décembre 2003 Statut Membre Dernière intervention 22 novembre 2010 2
23 juin 2005 à 18:51
ouahou !!!

Merci beaucoup pour ta rapidité et pour tes choix :

Te connecter à Yahoo (faisable)

Voir si il y a des messages (faisable)

Si oui on les récupères (faisable)

Si
certains contiennent des fichiers joints on les prends. (faisable,
compliké et risqué dans certains cas (trojan,virus,...etc..)



Je souhaiterais que tu m'apprennes cela en effet.

Pourrais-tu ?



Certes cela peux prendre du temps mais je suis pré sà y passer du temps
a moins que tu est une source toute tprête et dans ec cas je bosserais
tout seul sans problème !



Pour le téléchargement des pièces jointes, c'est par cela que je suis
très interressais meêm si cela est risqué car cela ne viendra que de ma
messagerie donc je me fait pas trop de soucis la dessus pour le moment.



Merci beaucoup je regarde à présent ta source que tu m'as écrite.
0
cs_pebayart Messages postés 17 Date d'inscription mercredi 28 juillet 2004 Statut Membre Dernière intervention 6 février 2014
22 mars 2006 à 01:45
Salut je voudrais avoir votre aide s'il vous plait.

voila dans un prog similaire au votre, delphi me renvoit cette erreur :

-----
Entête de réponse POP3 non reconnu :
"ql: sql error[3]: La table 'vpopmail.users' n'existe pas".
-----

est-ce que vous pourrez m'éclairez la dessus.

merci

Pierre.

peb
0
Rejoignez-nous