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 :

Utilisation du composant TidSMTP


Sujet :

C++Builder

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Utilisation du composant TidSMTP
    Bonjour ,
    Je travail avec borland c++ builder 6 et le composant indy-client TidSMTP.
    Je n'arrive pas à dépasser le stade de la connexion.
    Voici mon code :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    if(!TIdSMTP1->Connected())
    {
        TIdSMTP1->Port              = 25;
        TIdSMTP1->Host             = "smtp.gmail.com";
            TIdSMTP1->UserId          = "monadresse@gmail.com";
            TIdSMTP1->Password      = "monpassword";
     
        TIdSMTP1->Connect();
    }
     
    if(TIdSMTP1->Connected())
         Label3->Caption="OK";
    else
         Label3->Caption="raté";
    j'ai droit à une erreur de socket #10054 et je n'arrive donc pas a me connecter.
    Ou est le souci ?
    Merci

  2. #2
    Membre habitué

    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 137
    Points : 161
    Points
    161
    Par défaut
    Ça semble bien. J'ai juste cette ligne en plus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IdSMTP->AuthenticationType = atLogin;
    Je te file mon code en entier (qui fonctionne sans problème) :
    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
        IdMessage->From->Text = "moi@xxx.com";
        IdMessage->ReplyTo->EMailAddresses = "moi@xxx.com";
        IdMessage->Recipients->EMailAddresses = "toi@xxx.com";
        IdMessage->Subject = "Pour toi";
        IdMessage->Body->Add("Bonjour toi");
     
        IdSMTP->AuthenticationType = atLogin;
        IdSMTP->Username = "moi@xxx.com";
        IdSMTP->Password = "123456789";
        IdSMTP->Host = "smtp.xxx.com";
        IdSMTP->Port = 25;
        try
            {
            IdSMTP->Connect(5000);
            IdSMTP->Send(IdMessage);
            IdSMTP->Disconnect();
            }
        catch(Exception &e)
            {
            ShowMessage(e.Message);
            }

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Re bonjour,
    tout d'abord merci,
    L'option AuthenticationType était déjà à "atLogin", j'ai essayé ton code et j'ai le même résultat.
    Par contre tu ne semble pas avoir la même version du composant que moi, certain nom d'attributs ne sont pas les même (c'est peut être le problème).
    Je vais essayer de trouver la version la plus récente.
    en attendant si quelqu'un d'autre à une idée ?
    Merci

  4. #4
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 512
    Points : 641
    Points
    641
    Par défaut
    sous gmail le port est 465
    avec connexion sécurisée (SSL)

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Merci pour l'information,
    Comment je fait pour spécifier que je veux me connecter en SSL?

  6. #6
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Si tu as trouvé la solution, tu peux partager. J'ai besoin de cette partie dans mon application.
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  7. #7
    Membre confirmé

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 531
    Points : 537
    Points
    537
    Par défaut
    faites avec Overbyte de JP Piette, ils supportent ssl..

  8. #8
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 49
    Points : 48
    Points
    48
    Par défaut suite
    Salut, je suis tomber sur ton morceau de code que j'ai réutilisé mais j'ai le doit à cette superbe erreur:

    Socket error #10060 Connection Timed out

    j'utilise avec gmail et à priori touts les champs du code sont renseigné.

    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
     
     
    TIdSMTP* SMTP = new TIdSMTP(Form1);//composant d'envoi de données
     TIdMessage* Message = new TIdMessage(Form1);//composant de gestion du message
     /
     
     Message->From->Text = "pecxx.adrxx@gmail.com";//ajout adresse origine
     Message->ReplyTo->EMailAddresses= "pecxx.adrxx@gmail.com";
     Message->Recipients->EMailAddresses = "metalxxx@hotmail.fr";//ajout adresse cible
     Message->Subject = "kikou";//ajout sujet
     
     Message->Body->Add("nikel");//ajout de la ligne 
     
     
        SMTP->AuthenticationType = atLogin;
        SMTP->UserId = "pecxx.adrxxx@gmail.com";//ajout login
      SMTP->Password = "xxxxxx";//ajout pass
     SMTP->Host = "smtp.gmail.com"; //adresse de l'hote
     SMTP->Port = 465;//port SMTP
     
     
     
     SMTP->Connect();//connection
     
     
            SMTP->Send(Message);//envoie mail
    Merci a tous ceux qui tenteront de m'aider^^

  9. #9
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Utilise le port 587.

    Tu as quelle version d'Indy ?
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  10. #10
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 49
    Points : 48
    Points
    48
    Par défaut destinataires multiple
    Salut,
    tout d'abord merci pour ta rapidité, alors c'était mon entreprise qui en fait bloquer l'envoie^^

    j'ai utiliser le SMTP propres a l'entreprise et tout fonctionne.

    Mais un autre petit probléme se pose a moi, c'est que j'ai besoin d'envoyer le même mail a plusieurs destinataire n'y t'il pas une façon de procéder avec les TIdEMailAddressList par exemple? ou faut-il tout recommencer en changeant juste le destinataire?


    PS: j'ai résolu mon problème il suffit de mettre une virgule entrent chaque adresse, merci de m'avoir répondu, je n'hésiterais pas a repasser par se forum

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 74
    Points : 62
    Points
    62
    Par défaut
    bonjour,

    Cet exemple en delphi est très bien fichu.
    ET facile à adapter en C++ :

    http://delphipage.free.fr/indyexemple2.html
    seb

Discussions similaires

  1. Comment utiliser un composant sans son nom ?
    Par aliwassem dans le forum Langage
    Réponses: 4
    Dernier message: 03/10/2005, 20h47
  2. [SGBD][ADO] Utilisation des composants ADO
    Par Teb dans le forum Delphi .NET
    Réponses: 2
    Dernier message: 22/08/2005, 15h33
  3. utilisation des composants d'aide à la décision
    Par karim2005 dans le forum Bases de données
    Réponses: 1
    Dernier message: 08/07/2005, 13h36
  4. Utilisation du composant TDBImage
    Par kkv dans le forum Bases de données
    Réponses: 4
    Dernier message: 10/03/2005, 17h41
  5. [][Timer] Créer un Timer sans utiliser le composant
    Par HPJ dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 01/10/2003, 11h04

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