Bonjour à tous,
A l'aide du code ci-dessous (issu du forum) je souhaiterai joindre au mail plusieurs fichiers.
Comment puis-je faire ?
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65 procedure TfrmMain.btnSendClick(Sender: TObject); Var MAPIMessage: TMAPIMessage; MAPIFile : TMAPIFileDesc; MAPIRecip : TMAPIRecipDesc; MAPIRecips : Array[0..1]Of TMAPIRecipDesc; i : Integer; Name, tmp : String; begin //------------------------ Définition de MAPIFile -----------------------\\ MAPIFile.ulReserved := 0; MAPIFile.flFlags := 0; MAPIFile.nPosition := 0; MAPIFile.lpszPathName := PChar(edFile.Text); //Chemin complet du fichier à joinde MAPIFile.lpszFileName := PChar(ExtractFileName(edFile.Text));//Nom "interne" du fichier joint MAPIFile.lpFileType := nil; //nil : le type de fichier sera déterminé par le système //-----------------------------------------------------------------------\\ //--------------- Récupération du pseudo du destinataire ----------------\\ tmp := edAdr.Text; For i := 1 To Length(tmp) Do Begin If tmp[i] = '@' Then Break Else Name := Name + tmp[i]; end; //-----------------------------------------------------------------------\\ //----------------------- Définition de MAPIRecip -----------------------\\ MAPIRecip.ulReserved := 0; MAPIRecip.ulRecipClass := MAPI_TO; //Destinataire principal; MAPI_CC et MAPI_BCC pour des copies/copies cachées MAPIRecip.lpszName := PChar(Name); //Nom du destinataire MAPIRecip.lpszAddress := PChar(edAdr.Text); //et son adresse MAPIRecip.ulEIDSize := 0; MAPIRecip.lpEntryID := nil; //-----------------------------------------------------------------------\\ MAPIRecips[0] := MAPIRecip; //MAPISendMail prend un tableau de MAPIRecipDesc en paramètre //---------------------- Définition de MAPIMessage ----------------------\\ With MAPIMessage Do Begin ulReserved := 0; lpszSubject := PChar(edSjt.Text); //Sujet du message lpszNoteText := PChar(memTexte.Lines.Text);//Texte du message lpszMessageType := nil; //nil lors d'un envoi lpszDateReceived := nil; lpszConversationID := nil; flFlags := 0; lpOriginator := nil; //Pointeur éventuel vers une description de l'expéditeur nRecipCount := 1; //Nombre de destinataires lpRecips := @MAPIRecips[0]; //On passe l'adresse du premier élément du tableau de destinataires nFileCount := 1; //Nombre de fichiers joints lpFiles := @MAPIFile; //Pointeur vers la description du fichier joint end; //-----------------------------------------------------------------------\\ //------------------------ Appel de MAPISendMail ------------------------\\ If MAPISendMail(0, 0, MAPIMessage, MAPI_NEW_SESSION or MAPI_DIALOG, 0) <> SUCCESS_SUCCESS Then ShowMessage('Une erreur est apparue lors de l''envoi du message') Else ShowMessage('Envoi effectué !'); //-----------------------------------------------------------------------\\ end;
Merci d'avance pour vos réponses,
Wilco
Partager