IDHTTP , IDPOP3 ,IDSMTP EN GRANDE PARTIE EXPLIQUÉE

cs_Bestiol Messages postés 833 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 3 novembre 2005 - 14 mars 2003 à 10:07
cs_barbichette Messages postés 220 Date d'inscription lundi 30 octobre 2000 Statut Membre Dernière intervention 15 juillet 2013 - 17 janv. 2007 à 23:30
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/12411-idhttp-idpop3-idsmtp-en-grande-partie-expliquee

cs_barbichette Messages postés 220 Date d'inscription lundi 30 octobre 2000 Statut Membre Dernière intervention 15 juillet 2013
17 janv. 2007 à 23:30
d'abord, 10/10 pour ce tuto, arrive juste à point...
deux petites choses.
Quand on fait un IdPOP31.Retrieve ou un IdPOP31.RetrieveHeader, il faut penser à faire Clear sur le IdMessage avant de rapeler la fonction une nouvelle fois pour charger le message suivant. Sinon, (chez moi en tout cas) il reste sur le premier message et ne charge jamais les autres. (sans erreur pour autant mais avec 3 ou 4 messages identiques).

Ensuite, je reçoit des messages avec des caractères bizares..
?UTF-8?B?UG9ydGFibGU=?= pour "portable" ou "téléphone" pour "téléphone".
C'est un problème de jeu de caractère mais je n'ai pas encore la réponse.
Je continue de chercher dans mon coin mais si quelqu'un à une solution, merci de me la donner...

Barbichette
cs_Pierre42 Messages postés 19 Date d'inscription samedi 31 janvier 2004 Statut Membre Dernière intervention 22 novembre 2008
23 nov. 2006 à 16:02
Pour répondre à Foucteau :

Avec la version indy 10 :
variables :
i : integer ;
texte : TIdText ;
MemoCorps : Tmemo ;
MSG: TIdMessage;

unité à ajouter : TIdText

code :
for i := 0 to msg.MessageParts.Count -1 do
begin
if msg.MessageParts[i].PartType = mptText then
begin
texte := TIdText.Create(nil);
texte.Assign(msg.MessageParts[i]) ;
MemoCorps.Text := texte.Body.Text ;
texte.free ;
end ;
end ;
cs_Pierre42 Messages postés 19 Date d'inscription samedi 31 janvier 2004 Statut Membre Dernière intervention 22 novembre 2008
23 nov. 2006 à 15:52
Ca ne fonctionne pas avec la version 10 !
kabiben Messages postés 1 Date d'inscription vendredi 6 octobre 2006 Statut Membre Dernière intervention 17 octobre 2006
17 oct. 2006 à 18:17
Merci pour votre aide. Ca marche tres bien. Merci!!!
Filipe35 Messages postés 470 Date d'inscription vendredi 14 novembre 2003 Statut Membre Dernière intervention 23 octobre 2007 1
10 janv. 2006 à 17:22
Comment récupérer les headers d'une connexion idHTTP ?
fdb592 Messages postés 3 Date d'inscription vendredi 14 mars 2003 Statut Membre Dernière intervention 9 février 2006
18 nov. 2005 à 15:27
salut, splendide ce tuto !
ça marche super bien :)

mais une question subsiste... en existe t'il aussi un pour l'imap ???
car le composant IdIMAP4 est quand meme violent à utiliser !!

si quelqu'un a des info, merci de le faire savoir :)
Filipe35 Messages postés 470 Date d'inscription vendredi 14 novembre 2003 Statut Membre Dernière intervention 23 octobre 2007 1
29 juil. 2005 à 17:55
Salut,

bon tuto mais j'ai cela dit une question
on peut se connecter sur les site okay mais comment les afficher ?

une petit exemple serait sympa

merci
Foucteau Messages postés 29 Date d'inscription mercredi 29 mai 2002 Statut Membre Dernière intervention 22 juin 2013
26 févr. 2005 à 09:11
Premierement merci ce tuto etait indispensable et trés interressant .... j'ai cependent un petit pb sur l'instruction suivante :


...
//Etudions le TIdText
if Msg.MessageParts.Items[PARTIEMESSAGE] is TIdText then //1
begin ...

j'ai l'erreur suivante :

Identificateur 'TIdText' non déclaré a la ligne ...
et sur la ligne suivante :

Memo1.Lines.AddStrings(TIdText(Msg.MessageParts.Items[PARTIEMESSAGE]).Body);
j'ai toujour une erreur sur TIdText mais en plus sur Body
Identificateur 'Body'non déclaré a la ligne ...

messages du debuger

E2003 Identificateur non déclaré : 'TIdText
E2029 ')' attendu(e) mais identificateur 'Body' trouvé(e)

Voila les petit pb ...

Choses au quelles j'ai pencer:
J'utilise Delphi 2005 peut etre que avec j'ai eu INDY 10

Dans l'aide il disent : ( text traduit par un traducteur internet)
########## Debut copy aide delphi 2005 pour indy 10
Le Message Parts
un autre domaine d'amélioration d'Indy 10 est l'architecture et la manipulation des pièces de messsage utilisées dans TIdMessage. L'architecture a été mise à jour pour permettre des opérations jet-basées pour le chargement, stockant, transmettant, et receiveing les pièces de message.La hiérarchie d'objet a également changé pour mettre en application le stockage de mémoire ou dossier-basé utilisé pour des pièces de message.

En conséquence, TIdAttachment est maintenant une classe abstraite d'ancêtre pour des pièces de message d'attachement.Les applications devraient employer TIdAttachmentFile ou TIdAttachmentMemory en créant des pièces de message d'attachement, ou permettez à l'exemple de TIdMessage de mettre en application un comportement de défaut en utilisant son traiteur d'événement d'OnCreateAttachment.
Les applications utilisation immobile TIdText de représenter les pièces de message basées par texte.
Chacune des classes de pièce de message a une nouvelle valeur de PartType qui indique si la pièce de message représente une pièce des textes ou un attachement binaire. En outre, ContentID et ContentLocation peuvent maintenant être maintenus pour les exemples de pièce de message dans un message donné.

Une autre facette de l'architecture de transmission de messages qui a été mise à jour dans Indy 10 est la représentation des pièces relatives de message dans un message, comme utilisé dans des messages de "multipart/alternative" et de "multipart/mime". Indy 10 a changé son exécution de la collection de pièces de message pour permettre la représentation des pièces nichées de message de MIME. Ceci inclut une meilleures utilisation et identification de la frontière de MIME pour des pièces de message. La propriété de ParentPart dans des descendants de TIdMessage et de TIdAttachment est employée pour exprimer le rapport parmi les diverses pièces de message. "

############### FIN Aide Delphi 2005 pour INDY 10

sans etre bocoup plus explicite.

J'ai recherché quelques méthodes pour voir comment récupéré les mails mais sans succés. mon gros pb c que je ne comprend pas assez bien l'anglais pour pouvoir capter le debut d'une honce d'une piste pour me permetre d'avancer.

Donc voila si vous avez aussi ce pb ou que vous avez la solution sympat de la faire partager...

Mes en tt cas merci encor pour cette excelent tutoriel trés bien fait

Voici les composent Indy que j'ai déposer sur mon apli :
Tidpop3
Tidmessage

Ceci vien peut etre de la je v essayer de trouver un composant Tidtext mais j'ai pas l'impression qu'il y en es un enfin je vous tiendrais au courent

Merci a tous
A la prochaine
Dreuteu Messages postés 44 Date d'inscription samedi 16 octobre 2004 Statut Membre Dernière intervention 28 février 2006
11 févr. 2005 à 16:54
Merci ! Super tuto qui m'a ete tres utile...
10/10 pr la peine :p
hichvbasic Messages postés 17 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 18 mai 2006
21 janv. 2005 à 19:14
Merci Pour le tuto ,
cs_zmc Messages postés 147 Date d'inscription vendredi 26 avril 2002 Statut Membre Dernière intervention 26 avril 2008 1
20 nov. 2004 à 18:19
Salut, très bon tut, une bonne note pour la peine. A quand une suite ?

PS: CC Copie Carbone (Copie) et CCi Copie Caché
taye78 Messages postés 106 Date d'inscription mardi 18 juin 2002 Statut Membre Dernière intervention 13 janvier 2007
14 mai 2004 à 22:10
slt, 10/10. Malgrés ce qui suit:
" F := TFileStream.Create(?c:\fichier.exe?, fmCreate); "
(dans la partie 1 oú tu explique idHTTP)
La création de cette variable n'aurait pas dû être contenu dans le try mais juste avant.
Car tu libère F dans le finally. Imagine si la création de la variable échoue, il y aura une erreur dans le finally qui essaye de libérer l'espace alloué.


--wG
weboide Messages postés 30 Date d'inscription samedi 19 avril 2003 Statut Membre Dernière intervention 13 mars 2007
19 avril 2003 à 16:24
ca aide beaucoup ce tutoriel, merci!!
cs_Skyline Messages postés 2 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 29 mars 2003
29 mars 2003 à 02:08
Receipt c le destinataire du mail
bon tutoriel en francais le seul que j'avais trouvé etait en chinois (ou un truc du genre ;) ) si j'avais eu celui ci a une epoque ca m'aurais bien aide......
Remixgame Messages postés 56 Date d'inscription mardi 12 février 2002 Statut Membre Dernière intervention 2 août 2007
14 mars 2003 à 20:35
Ouai ca doit être ca ...
BB ca doit être cci ...
Mais je n'utilise jamais ...
cs_Bestiol Messages postés 833 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 3 novembre 2005 1
14 mars 2003 à 10:07
il me semble que les points d'interrogation se mette automatiquement lorsqu'un caractère n'a pas été reconnu... Mais je suis pas sûr, car c'est vrai que ce sont tes apostrophes qui ont été remplacées (mais pas toutes... ??)

En tout cas, c'est un bon tutoriel !!

Quant à CC, ça veut dire "Copie Cachée", mais j'ai jamais vu BB... A moins que ça corresponde à Cci, qui est une autre forme de copie cachée...