Probleme d'envoi de mail avec composants indy

tine82 Messages postés 2 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 9 janvier 2004 - 9 janv. 2004 à 11:49
MevelTribe Messages postés 2 Date d'inscription vendredi 9 avril 2004 Statut Membre Dernière intervention 7 octobre 2005 - 20 janv. 2005 à 14:22
bonjour à tous!

Je voudrai envoyer un mail dans mon appli.
J'utilise les composants indy TidSMTP et TidMessage
et j'ai toujours la même erreur:

Erreur de socket #10060
Delai de connexion dépassé

Je ne sais pas bien où je me suis plantée... :sad)

Y aurai-t-il quelqu'un qui voudrai m'aider? :question)

PS: j'ai déjà regardé dans les FAQ, les forums, téléchargé des sources mais aucune ne marche... :sad) :sad)

Merci a tous ceux et celles qui répondrons à ce message!
Tine.

3 réponses

tine82 Messages postés 2 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 9 janvier 2004
9 janv. 2004 à 11:54
PS: voici mon code (trouvé sur dévellopez.com)

// -------------- envoi de l'e-mail ---------------------
// paramètres de l'e-mail
IdMessage1.Clear; //Efface l'entête et le corps du message
IdMessage1.From.Text :='mon_adresse@truc.fr'; //Adresse email de l'expediteur
IdMessage1.ReplyTo.EMailAddresses:='mon_adresse@truc.fr'; //Adresse email où le destinataire pourra répondre
IdMessage1.Recipients.EMailAddresses:='son_adresse@truc.fr'; //Adresse email du destinataire
IdMessage1.Date:=date; //Date de l'envoi du message
IdMessage1.Subject:='test1'; //Sujet du message
IdMessage1.Priority:=mpNormal; //Priorité du message
IdMessage1.Body.Assign(XMLdoc.XML); //Corps du message

//Connexion au serveur smtp
IdSMTP1.AuthenticationType:=atLogin; //Type d'authentification
IdSMTP1.Host:='smtp.free.fr'; //Hôte (par exemple pour Free : smtp.free.fr)
IdSMTP1.Port:=25; //Port (par exemple pour Free : 25)
IdSMTP1.UserName:='mon_nom'; //Nom d'utilisateur
IdSMTP1.Password:='motdepasse'; //Mot de passe
IdSMTP1.Connect(); //Connexion
try
IdSMTP1.Send(IdMessage1); //Envoi du message
finally
IdSMTP1.Disconnect; //Déconnexion
end;
0
sonnikk Messages postés 19 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 27 mars 2004
16 mars 2004 à 18:08
vas voir a
http://www.remixtech.com/tutidhttpe.php
c'est un simple (mais efficace) tutoriel

si t'as la fleme de lire, remplace IdSMTP1.Connect() par SMTP.Connect(-1)
-1 signifie pas de timeout
tiens nous au courant

sonnikk
---------------------
In tartiflette we trust !
0
MevelTribe Messages postés 2 Date d'inscription vendredi 9 avril 2004 Statut Membre Dernière intervention 7 octobre 2005
20 janv. 2005 à 14:22
Bonjour,

J'ai trouvé ce bout de code qui marche bien.

Note le :

IdSMTP1.Connect(30000);

que j'ai été obligé de paramétrer selon mes besoins.

Cordialement.

Stf.



<hr style= "width: 100%; height: 2px;">



procedure TForm1.Button2Click(Sender: TObject);

Var

IdSMTP1: TIdSMTP;

IdMessage1: TIdMessage;

i:integer;

idText1: TidText;

idText2: TidText;

p: TidMessageParts;

MyBody:TStrings;

Begin

IdMessage1:=TIdMessage.Create(nil);

IdSMTP1:=TIdSMTP.Create(nil);



{Si le corps du message est en html et qu'il y a une pièce jointe}

{ l'utilisation des TidText est obligatoire}

p := idMessage1.MessageParts;

MyBody:=TStringlist.create;

MyBody.Add(' Mon message ');

{ Si le client de messagerie supporte le html }

idText1 : = TidText.Create(p, MyBody);

idText1.ContentType := 'text/html';

{ Si le client de messagerie ne supporte pas le html }

idText2 := TidText.Create(p);

idText2.ContentType := 'text/plain';

idText2.Body.Text := 'Mon message en texte brut';



With IdMessage1 do

Begin

CharSet:='iso-8859-1';

Encoding:=meMIME;

ContentType:= 'multipart/mixed';

From.Text:='stephane.mevel@meteo.fr';



{Body.add('mon message');

peut être utilisé si le contenu est en texte brut ou html SANS pièce jointe

dans le cas contraire, un bug d'indy met le corps du message en text/plain }



Recipients.EMailAddresses:='stephane.mevel@meteo.fr';

Subject:='test de données';

{ tralala.pdf est la pièce jointe }



TIdAttachment.Create(IdMessage1.MessageParts,'RV050119.TXT');

End;

IdSMTP1.Host:='137.129.93.1';

{ connexion au serveur de messagerie }

IdSMTP1.Connect(30000);



try

IdSMTP1.send(IdMessage1);

finally

{ Et on pense a se déconnecter }



IdSMTP1.Disconnect;

End;

{ et a libérer les objets créés }

IdMessage1.Free;

IdSMTP1.Free;

End;
0
Rejoignez-nous