[BCB6]IdSMTP et IdMessage classe d'exeption
Bonjour tout le monde,
J'ai un petit souci.
J'ai programmé cette fonction qui a déjà fonctionné. J'ai même vérifié les données qui y transite et elles sont correcte.
Code:
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
|
//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], int Format)
{
//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);
Form1->IdSMTP1->Send(Form1->IdMessage1);
Form1->IdMessage1->Clear();
}
else
{
//Erreur d'identification.
ShowMessage("Erreur d'identification!");
}
//Déconnecte le composant IdSmtp.
Form1->IdSMTP1->Disconnect();
} |
En testant mon code, je suis tomber sur cette erreur:
Citation:
Le projet HTMaiL.exe a provoqué une classe d'exception EIdProtocolReplyError avec le message '503 Error: authentification not enabled'.
Je ne voie pas pourquoi cela me provoque ainsi une classe d'exception vue que ce code fonctionnais avant sans problème majeur.
Auriez-vous une solution pour éradiqué ce problème s'il vous plait ?
Je vous remercie pour vos indications.
Cordialement.