Bonjour,
J'essaie d'envoyer un email avec un fichier attaché mais l'email reçu n'est pas correct. En effet, je n'arrive pas à recevoir le fichier attaché. J'ai vérifié dans le source des emails et le fichier est bien reçu mais il n'apparait pas comme fichier attaché ou sinon, il n'a pas son nom. De plus, je n'arrive pas non plus à afficher les accents.le message n'est pas interprété de la même manière suivant le content-type.
J'ai recherché sur google, sur developpez et sur le forum et je n'arrive pas à comprendre l'erreur.
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 UnicodeString fichier = "C:\\test.txt"; TIdMessage *mess = new TIdMessage(Form1); entete->Text = "<p>Ceci est un mail de test</p><p>Et j'espère que le HTML fonctionne.</p>"; mess->Clear(); mess->ClearBody(); mess->ClearHeader(); mess->From->Address = Edit15->Text; mess->ReplyTo->Add()->Address = Edit15->Text; mess->Recipients->Add()->Address = Edit15->Text; // adresse d'envoie mess->Subject = "test"; mess->ContentType = "multipart/alternative";//"multipart/alternative";"multipart/mixed" mess->CharSet = "iso-8859-1";//"UTF-16"; //Ici on va créer les différentes parties du message //Au cas où le client ne gère pas les messages HTML : TIdText *nohtml = new TIdText(mess->MessageParts, entete->Lines); nohtml->ContentType = "text/plain"; nohtml->Body->Insert(0, "Ce message est un message HTML. Configurez votre client de courrier électronique pour le visionner de manière appropriée"); //Ajout du message au format HTML (en supposant que Message contient du HTML) : TIdText *avechtml = new TIdText(mess->MessageParts, entete->Lines); avechtml->ContentType = "text/html"; avechtml->CharSet = "iso-8859-1"; //Et maintenant, l'ajout des pièces jointes : //Le tableau de strings Fichiers doit être remplis avec les chemins complets des fichiers à inclure TIdAttachmentFile *att = new TIdAttachmentFile(mess->MessageParts, fichier); att->FileName = fichier; //On passe ensuite à l'envoi du message: TIdSMTP *SMTP = new TIdSMTP(NULL) ; //Création dynamique du composant SMTP->Port = JvValidateEdit13->Value.VInteger; //Le port SMTP standard... SMTP->Host = Edit20->Text; //Le serveur auquel se connecter //Ensuite on se connecte et on envoit le message, en gérant les erreurs, tant qu'à faire ! try { try { SMTP->Connect(); SMTP->Send(mess); } catch ( ... ) { Application->MessageBox(L"Une erreur est survenue lors de l'envoie de l'email. Le destinataire n'a probablement pas reçu le message.", L"Erreur lors de l'envoie de l'email", MB_OK + MB_ICONSTOP + MB_TOPMOST); } } __finally { SMTP->Disconnect(); delete SMTP; delete mess; }
Vous avez une idée ?
J'utilise RADStudio2009 et indy10 (celui qui est livré avec l'ide).
Merci
Partager