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
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 8
    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 confirmé

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

    Informations forums :
    Inscription : Septembre 2003
    Messages : 137
    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
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 8
    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 émérite
    Inscrit en
    Juillet 2005
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 512
    Par défaut
    sous gmail le port est 465
    avec connexion sécurisée (SSL)

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

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

  6. #6
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Par défaut
    Si tu as trouvé la solution, tu peux partager. J'ai besoin de cette partie dans mon application.

  7. #7
    Membre chevronné

    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
    Par défaut
    faites avec Overbyte de JP Piette, ils supportent ssl..

  8. #8
    Invité
    Invité(e)
    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^^
    Dernière modification par Invité ; 14/12/2009 à 16h01.

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

    Tu as quelle version d'Indy ?

  10. #10
    Invité
    Invité(e)
    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
    Dernière modification par Invité ; 15/12/2009 à 13h39.

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

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

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

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

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