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 :

Envoi de mails avec IdSMTP


Sujet :

C++Builder

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 92
    Points : 46
    Points
    46
    Par défaut Envoi de mails avec IdSMTP
    Bonjour,

    J'ai créé une application pour envoyé des mails sans utiliser Outlook.

    La connection au serveur SMTP semble se faire, mais l'envoi du mail ne se fait pas et renvoie une exception non identifié (chaine vide). Voici le code utilisé :

    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
     
    	TIdSMTP *IdSMTP1 = new TIdSMTP(this);
    	IdSMTP1->AuthType = atDefault;
    	IdSMTP1->ConnectTimeout = 5000;
    	IdSMTP1->Host = "mail.host.com";
    	IdSMTP1->Username = "user";
    	IdSMTP1->Password = "pass";
    	IdSMTP1->Port = 587;
     
            IdSMTP1->UseTLS = utNoTLSSupport;
            IdSMTP1->PipeLine = true;
     
     
    		IdSMTP1->Connect();
    		if (IdSMTP1->Connected())  ShowMessage("connect ok");
     
    	TIdMessage *IdMessage1 = new TIdMessage(this);
    	IdMessage1->UseNowForDate = true;
    	IdMessage1->CharSet = "utf-8";
    	IdMessage1->ContentTransferEncoding = "base64";
    	IdMessage1->ContentType = "multipart/mixed";
     
    	IdMessage1->Subject = "test envoi";
    	IdMessage1->Body->Add("test") ;
     
    	IdMessage1->From->Address = "monmail@mail.com";
    	IdMessage1->From->Domain = "mail.com";
    	IdMessage1->From->Name = "monNom";
    	IdMessage1->From->Text = "monmail@mail.com";
    	IdMessage1->From->User = "monmail";
     
    	IdMessage1->ReceiptRecipient->Address = "destin@live.fr";
    	IdMessage1->ReceiptRecipient->Domain = "live.fr";
    	IdMessage1->ReceiptRecipient->Name = "destin";
    	IdMessage1->ReceiptRecipient->Text = "destin@live.fr";
    	IdMessage1->ReceiptRecipient->User = "destin";
     
       try {
    	   IdSMTP1->Send(IdMessage1);
       } catch (Exception &e) {
    		ShowMessage(e.Message);
       }
     
     
    		IdSMTP1->Disconnect(true);
    		if (!IdSMTP1->Connected())  ShowMessage("disconnect ok");
    Les messages "connect ok" et "disconnect ok" sont bien affichés, mais aucun mail n'est reçu sur l'adresse d'envoi.

    Merci pour vos conseils.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Points : 713
    Points
    713
    Par défaut
    Salut

    D apres Pottiez dans un vieux message
    AuthentificationType : atLogin
    UserId : ton login SMTP
    Password : ton mot de passe de compte SMTP

    Essaies d envoyer vers un autre domaine que live , outlook ou hotmail .
    Microsoft pose souvent probleme

    Et aussi avoir une adresse valide coté from , ... , certains serveurs verifient

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 92
    Points : 46
    Points
    46
    Par défaut Nouveau Test idSMTP
    Salut,

    J'ai remplacé l'adresse live par la même adresse que le from

    L'adresse est valide, je n'ai fait que la modifier pour l'exemple de code posté

    Le pb persiste.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Points : 713
    Points
    713
    Par défaut
    Quelle version de builder ? D indy ?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Points : 713
    Points
    713
    Par défaut
    Composant dans Fastnet

    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
     
     
    if (NMSMTP1->Connected)
     { NMSMTP1->Disconnect();
       Label1->Caption= " Déconnecter ";
     }
     else
     {
      NMSMTP1->Host = "smtp.numericable.fr";
      NMSMTP1->UserID = "moi";
     
      NMSMTP1->Connect();
      Label1->Caption= " Connecter";
     }
     
     if (NMSMTP1->Connected)
     {
      NMSMTP1->SubType = mtPlain;
      NMSMTP1->PostMessage->FromAddress = "moi@numericable.fr";
      NMSMTP1->PostMessage->FromName = "moi";
     // NMSMTP1->PostMessage->ToAddress->Text = "lui@numericable.fr";
      NMSMTP1->PostMessage->ToAddress->Text = "lui@hotmail.com";
      NMSMTP1->PostMessage->Body->Text = "corps";
     
      // renvoi tout les  chemins et noms des fichiers se trouvant dans la liste
    //  NMSMTP1->PostMessage->Attachments->Text =
     
      NMSMTP1->PostMessage->Subject = "sujet";
      NMSMTP1->PostMessage->LocalProgram = "";
      NMSMTP1->SendMail();
      ShowMessage("Message envoyez vers machin"  );
     //====================================
     // obligatoire pour l'envoie
       NMSMTP1->Disconnect();
       Label1->Caption= " Deconnectez ";
     //====================================
     }
     else
      ShowMessage("Vous devez vous connecter avant d'envoyer votre message");

  6. #6
    Membre chevronné
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Points : 2 189
    Points
    2 189
    Par défaut
    Salut, est-ce que tu as téléchargé l'exemple IdPOP3 / IdSMTP / IdMessage sur le site web d'Indy: http://www.indyproject.org/Sockets/Demos/index.EN.aspx
    • Plus un ordinateur possède de RAM, plus vite il peut générer un message d'erreur. - Dave Barry
    • Je n'ai pas peur des ordinateurs. J'ai peur qu'ils viennent à nous manquer. - Isaac Asimov
    • Le code source est comme une belle femme, plus on le regarde, plus on trouve des défauts. - Crayon

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 92
    Points : 46
    Points
    46
    Par défaut Version de Builder
    J'utilise la version 2007 de C++ Builder , et pour Indy la version 10.1.5

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Points : 713
    Points
    713
    Par défaut
    Dans ta palette , tu n as pas les composants fastnet ? Cà résoudrait le probléme cômme j ai résolu le mien en remplacant le composant indy sur bcb6 .

  9. #9
    Membre chevronné
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Points : 2 189
    Points
    2 189
    Par défaut
    Salut, de mon coté j'utilise les composants ICS d'Overbyte: http://www.overbyte.be/frame_index.html

    J'avais absolument besoin de SSL et Indy me causait des problèmes alors j'ai opté pour TSslSmtpCli.
    • Plus un ordinateur possède de RAM, plus vite il peut générer un message d'erreur. - Dave Barry
    • Je n'ai pas peur des ordinateurs. J'ai peur qu'ils viennent à nous manquer. - Isaac Asimov
    • Le code source est comme une belle femme, plus on le regarde, plus on trouve des défauts. - Crayon

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 92
    Points : 46
    Points
    46
    Par défaut J'avance dans ma prospection, mais les problèmes persistent
    Merci pour vos conseils.

    1) J'ai téléchargé les exemples INDY en lien, cela correspondait à ce que je faisais dans mon programme, donc rien de neuf de ce côté là.

    2) Après vérification, je n'ai pas de composants Fastnet dans ma version de Builder C++

    3) J'ai téléchargé les composants Overbyte ICS, puis je les ai testé.

    La connection au serveur Smtp semble se faire avec un SmtpCli (SSL non nécessaire), mais j'ai un nouveau message d'erreur.

    Après vérification auprès de notre hébergeur, il semble que l'authentification ne se fasse pas (port 587 utilisé)

    J'ai pourtant bien affecté successivement les valeurs SmtpAuthlogin, ou SmtpAuthPlain à la propriété AuthType du SmtpCli, mais rien n'y fait ??????

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Points : 713
    Points
    713
    Par défaut
    d autres pistes

    http://www.torry.net/pages.php?id=211

    A l epoque j utilisais tmail2000

  12. #12
    Membre chevronné
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Points : 2 189
    Points
    2 189
    Par défaut
    Citation Envoyé par LescureImage Voir le message
    La connection au serveur Smtp semble se faire avec un SmtpCli (SSL non nécessaire), mais j'ai un nouveau message d'erreur.

    Après vérification auprès de notre hébergeur, il semble que l'authentification ne se fasse pas (port 587 utilisé)

    J'ai pourtant bien affecté successivement les valeurs SmtpAuthlogin, ou SmtpAuthPlain à la propriété AuthType du SmtpCli, mais rien n'y fait ??????
    Salut, est-ce que tu as regarder si l'exemple IcsMailSnd.dproj dans le dossier \Samples\Delphi\PlatformDemos fonctionnait avec ton serveur?
    • Plus un ordinateur possède de RAM, plus vite il peut générer un message d'erreur. - Dave Barry
    • Je n'ai pas peur des ordinateurs. J'ai peur qu'ils viennent à nous manquer. - Isaac Asimov
    • Le code source est comme une belle femme, plus on le regarde, plus on trouve des défauts. - Crayon

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 92
    Points : 46
    Points
    46
    Par défaut
    Salut

    En effet, et la même erreur se produit.

Discussions similaires

  1. idSMTP et envoie de mail avec fichiers
    Par gandf dans le forum C++Builder
    Réponses: 13
    Dernier message: 24/03/2010, 09h04
  2. [Mail] Probleme pour l'envoi de mails avec mime
    Par tof91 dans le forum Langage
    Réponses: 1
    Dernier message: 09/03/2006, 16h44
  3. Envoi de mail avec Lotus Notes depuis VB
    Par mdriesbach dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 09/11/2005, 15h29
  4. envoi de mail avec sql server
    Par the_new dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/03/2005, 18h56
  5. envoi de mail avec attachement de fichier
    Par GMI3 dans le forum Modules
    Réponses: 2
    Dernier message: 24/09/2003, 11h22

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