Bonsoir tout le monde.
Je suis en train de révisé un code que j'ai pas mal de fois utilisé. Je me suis rendu compte que dans ma fonction, que je décrirais plus tard, je ne testais pas le port que j'utilise. Ceci pouvant provoqué une erreur au moment d'envoyer un email.

Voici la fonction complète.
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
66
67
 
//Fonction qui aura en charge l'envoie d'email.
void __fastcall TForm1::SendMail(AnsiString Sujet, AnsiString Texte, char Host[50], char Port[50], char Identifiant[50], char Mdp[50], char Emeteur[50], char Recepteur[50])
{
        //Si la connexion est ouverte, on ferme la connexion.
        if(Form1->IdSMTP1->Connected()) { Form1->IdSMTP1->Disconnect(); }
 
        //Si la connexion est fermé.
        if(!Form1->IdSMTP1->Connected())
        {
                //Déclaration au composant des données saisies et passé en paramettre.
                Form1->IdSMTP1->Host = Host;
                Form1->IdSMTP1->Port = atoi(Port);
                Form1->IdSMTP1->UserId = Identifiant;
                Form1->IdSMTP1->Password = Mdp;
 
                //Si le nom d'utilisateur et le mot de passe ne sont pas valide.
                if((Form1->IdSMTP1->UserId.Trim().Length() == 0) && (Form1->IdSMTP1->Password.Trim().Length() == 0))
                {
                        //Utilisera pas l'authentification.
                        Form1->IdSMTP1->AuthenticationType = atNone;
                }
                else
                {
                        //Utilisera l'authentification.
                        Form1->IdSMTP1->AuthenticationType = atLogin;
                }
 
                //Lance la connexion.
                Form1->IdSMTP1->Connect();
        }
 
        //Si l'authentification est validé.
        if(Form1->IdSMTP1->Authenticate())
        {
                //Message en bas de programme pour indiqué que l'authentification c'est déroulé correctement.
                Form1->InfoStatusBar("Identification distante.", "Identification réussi.");
 
                //Charge dans le composant IdMessage1 les informations correspondantes.
                Form1->IdMessage1->From->Address = Emeteur;
                Form1->IdMessage1->From->Name = Form1->NomLogiciel + " V: "+ Form1->VersionLogiciel;
 
                Form1->IdMessage1->ReplyTo->EMailAddresses = Emeteur;
                Form1->IdMessage1->Recipients->Add();
                Form1->IdMessage1->Recipients->EMailAddresses = Recepteur;
                Form1->IdMessage1->Recipients = Form1->IdMessage1->Recipients;
                Form1->IdMessage1->Subject = Sujet;
                Form1->IdMessage1->Body->Add(Texte);
 
                //Si le mail doit être envoyé au format HTML.
                if(Form1->RadioBoutonTypeMail1->Checked) { Form1->IdMessage1->ContentType = "text/html"; }
 
                //Si le mail doit être envoyé au format TEXT.
                if(Form1->RadioBoutonTypeMail2->Checked) { Form1->IdMessage1->ContentType = "text/plain"; }
 
                Form1->IdSMTP1->Send(Form1->IdMessage1);
                Form1->IdMessage1->Clear();
        }
        else
        {
                //Erreur d'identification.
                ShowMessage("Erreur d'identification!");
        }
 
        //Déconnecte le composant IdSmtp.
        Form1->IdSMTP1->Disconnect();
}
J'aimerais trouvé à partir de cette fonction un moyen de tester le port que j'utilise.
Je vous remercie pour vos indications.
Cordialement.