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();
} |
Partager