Bonjour,

J'arrive a envoyer un mail format text avec avec le composant TidMessage.

Ce que je n'arrive pas à faire c'est trouver la bonne syntaxe pour ajouter une pièce jointe (format pdf ou texte par exemple)

J'ai cru comprendre qu'il fallait créé le messageparts :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
TIdAttachment.Create(IdMessage1.MessageParts)
Mais après ?
J'ai essayé plusieurs syntaxes de add ou de loadfromfile mais j'ai toujours une erreur ...

Le code est tout simple mais je n'y arrive pas ...
Merci d'avance pour vos lumières
Je précise que j'ai potassé l'excellent tutoriel de Gilles Vasseur https://gilles-vasseur.developpez.co...-robin/#LVII-B, mais la pièce jointe n'est pas abordé pour le SMTP

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
procedure TForm1.Button2Click(Sender: TObject);
var
   tpj: tidattachment;
begin
//Efface l'entête et le corps du message
IdMessage1.Clear;
//Adresse email de l'expediteur
IdMessage1.From.Text :=Edit1.Text;
//Adresse email où le destinataire pourra répondre
IdMessage1.ReplyTo.EMailAddresses:=Edit1.Text;
//Adresse email du destinataire
IdMessage1.Recipients.EMailAddresses:=Edit2.Text;
//Date de l'envoi du message
IdMessage1.Date:=Date;
//Sujet du message
IdMessage1.Subject:=Edit4.Text;
//Priorité du message
IdMessage1.Priority:=mpNormal;
//Corps du message
IdMessage1.Body.Assign(Memo1.Lines);
 
// si un fichier attaché est mentionné
if Edit3.Text<>'') then
   //Attache le fichier
   begin
   tpj:=TIdAttachment.Create(IdMessage1.MessageParts);
   tpj.LoadFromFile(edit3.text);  //----------> ne fonctionne pas  :o(  cela me renvoie une "erreur abstraite"
   end;
 
//Connexion au serveur smtp
IdSMTP1.AuthType:=satDefault;
IdSMTP1.Host:='smtp.**********';
IdSMTP1.Port:=***;
IdSMTP1.UserName:='********';
IdSMTP1.Password:='*********';
IdSMTP1.Connect;
   try
   IdSMTP1.Send(IdMessage1);
   finally
   IdSMTP1.Disconnect;
   end;
end;