IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

[BCB6]IdSMTP et IdMessage classe d'exeption


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 149
    Par défaut [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 : 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
     
    //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:
    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.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 149
    Par défaut
    Est ce que cela pourrais venir du fait que je lance la connexion à la boîte email depuis un autre fournisseur que celui qui est en host?

Discussions similaires

  1. Classe pour la création d'un graphe xy
    Par Bob dans le forum MFC
    Réponses: 24
    Dernier message: 03/12/2009, 17h20
  2. Réponses: 31
    Dernier message: 30/03/2006, 16h57
  3. Élaboration de classe
    Par il_a_ri dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 16/01/2003, 14h22
  4. Variable d'une Classe Ancêtre
    Par Génie dans le forum Langage
    Réponses: 3
    Dernier message: 18/09/2002, 19h24
  5. Sortir un typedef d'une classe
    Par Theophil dans le forum C++Builder
    Réponses: 13
    Dernier message: 03/07/2002, 17h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo