Bonjour,
J'ai créé une application pour envoyé des mails sans utiliser Outlook.
La connection au serveur SMTP semble se faire, mais l'envoi du mail ne se fait pas et renvoie une exception non identifié (chaine vide). Voici le code utilisé :
Les messages "connect ok" et "disconnect ok" sont bien affichés, mais aucun mail n'est reçu sur l'adresse d'envoi.
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 TIdSMTP *IdSMTP1 = new TIdSMTP(this); IdSMTP1->AuthType = atDefault; IdSMTP1->ConnectTimeout = 5000; IdSMTP1->Host = "mail.host.com"; IdSMTP1->Username = "user"; IdSMTP1->Password = "pass"; IdSMTP1->Port = 587; IdSMTP1->UseTLS = utNoTLSSupport; IdSMTP1->PipeLine = true; IdSMTP1->Connect(); if (IdSMTP1->Connected()) ShowMessage("connect ok"); TIdMessage *IdMessage1 = new TIdMessage(this); IdMessage1->UseNowForDate = true; IdMessage1->CharSet = "utf-8"; IdMessage1->ContentTransferEncoding = "base64"; IdMessage1->ContentType = "multipart/mixed"; IdMessage1->Subject = "test envoi"; IdMessage1->Body->Add("test") ; IdMessage1->From->Address = "monmail@mail.com"; IdMessage1->From->Domain = "mail.com"; IdMessage1->From->Name = "monNom"; IdMessage1->From->Text = "monmail@mail.com"; IdMessage1->From->User = "monmail"; IdMessage1->ReceiptRecipient->Address = "destin@live.fr"; IdMessage1->ReceiptRecipient->Domain = "live.fr"; IdMessage1->ReceiptRecipient->Name = "destin"; IdMessage1->ReceiptRecipient->Text = "destin@live.fr"; IdMessage1->ReceiptRecipient->User = "destin"; try { IdSMTP1->Send(IdMessage1); } catch (Exception &e) { ShowMessage(e.Message); } IdSMTP1->Disconnect(true); if (!IdSMTP1->Connected()) ShowMessage("disconnect ok");
Merci pour vos conseils.
Partager