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 :

Comment envoyer un mail avec pièce jointe (BCB6)


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti Avatar de renesouley
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 38
    Par défaut Comment envoyer un mail avec pièce jointe (BCB6)
    Salut Tout le monde!

    j'ai fait un petit mailer qui me permet d'envoyer des mails.

    j'ai utilisé le composant TIdSMTP de la palette Indy Clients (BCB 6)
    j'arrive à envoyer un simple texte grace aux propriétés de TIdMessage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IdSMTP->Send(IdMessage);
    Le problème c'est que je voudrais aussi envoyer des pièces jointes avec TIdSMTP. or ni IdSMTP, ni IdMessage ne dispose d'une propriété (de type IdAttachement)qui permettrait d'envoyer de pièces jointes Comme c'est le cas avec le composant TNMSMTP de la palette FastNet

    Quelqu'un peut-il m'aider à trouver l'équivalent du code cidesous pour le composant TIdSMTP ou TIdMessage.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NMSMTP1->PostMessage->Attachments->AddStrings("chemin pièces jointes");


    Merci d'avance

    Joyeux Noél

    René

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2006
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 169

  3. #3
    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
    Bonsoir,

    Il ya un exemple fourni avec BCB6, regarde dans le repertoire "exemple/fastnet".

    bon courage.

  4. #4
    Membre averti Avatar de renesouley
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 38
    Par défaut Envoyer Pièce jointe avec Indy et non FastNet!!!
    Salut et Merci pour vos contributions.

    Mais j'ai l'impression que vous n'avez pas bien saisie mon problème.

    la solution donnée par ce lien
    http://www.developpez.net/forums/sho...d.php?t=198685
    et l'orientation donnée par Kmaniche porte sur les composants de la palette FasNet. plus précisement le composant TNMSMTP or je veux utlisé les composants TIdSMTP et TIdMessage de la palette Indy Clients et je vais vous dire le pourquoi.

    Pour etre un peu plus claire je vous balance ces deux codes qui me permet d'envoyer des mails avec deux composants differents et le problème s'en suivra.



    1- le composant TNMSMTP de FastNet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     NMSMTP1->PostMessage->FromAddress = Eexpediteur->Text;//expediteur
      NMSMTP1->PostMessage->FromName = Enom->Text;//nom expediteur
      NMSMTP1->PostMessage->Subject = Eobject->Text;// objet
      NMSMTP1->PostMessage->ToAddress->Add(Edestinataire->Text);// destinataire
      NMSMTP1->PostMessage->ToBlindCarbonCopy->Add(Ebcc->Text);// Bcc
      NMSMTP1->PostMessage->ToCarbonCopy->Add(Ecc->Text);// Cc
      NMSMTP1->PostMessage->Attachments->AddStrings("Chemin fichier");// Pièces jointes
      NMSMTP1->PostMessage->Body->Assign(Memo1->Lines);// message
      NMSMTP1->SendMail(); // Envoie le mail
     MessageBox(0,"Votre Message a Bien été Expédié","Message   Envoyé",MB_OK);

    2- les Composants IdSMTP et IdMessage de Indy Clients

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    //IdAttachment1->AddStrings(ListBox1->Items);
    IdMessage1->Body = Memo1->Lines;// le message
    IdMessage1->From->Name = Enom->Text;// nom expediteur
    IdMessage1->From->Address =Eexpediteur->Text;// adresse quelconque
    IdMessage1->Recipients->EMailAddresses = Edestinataire->Text;// destinataire
    IdMessage1->Subject =Eobject->Text;// object message";
    //IdMessage1->Attachments->AddStrings(ListBox1->Items)
    IdMessage1->BccList->EMailAddresses = Ebcc->Text;// copies bcc
    IdMessage1->CCList->EMailAddresses = Ecc->Text;// copies CC
     
    IdSMTP1->Send(IdMessage1);//envoie le mail
    //IdSMTP1->Send(TIdAttachment1);
    MessageBox(0,"Votre Message a Bien été Expédié","Message Envoyé",MB_OK);

    3- Le Problème

    En (1) NMSTMP de FasNet
    Avantage :le composant NMSMTP de Fastnet permet d'envoyer une pièce jointe avec ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NMSMTP1->PostMessage->Attachments->AddStrings("Chemin fichier");
    Inconvenient: :
    -le mail atterit regulierement dans les dossiers spams
    -problème d'authentification se pose constament et trop de messages d'erreur.

    En (2) IdSMTP de Indy
    Avantage: expédie le mail sans problème et jamais dans le dossier spams
    Inconient: je n'arrive pas à envoyer une piece jointe

    J'ai bien testé les exemples fournis relatifs à l'utilisation des composants FasNet et Indy mais je n'ai pas trouvé la solution.
    j'espère que j'ai été clair dans mon explication ce fois.

    alors, Question:
    Quelqu'un pourra t'il m'aider à envoyer une pièce jointe avec le composant IdSMTP de Indy? c'est à dire l'equivalent de ce code Fasnet pour Indy:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NMSMTP1->PostMessage->Attachments->AddStrings("Chemin fichier");
    car je ne voudrai pas utiliser FastNet mais Indy.

    Merci encore pour vos efforts


    Joyeux Noël sitirna
    Joyeux Noël Kmaniche
    Joyeux Noël à tous les forumeurs!

    René!

  5. #5
    say
    say est déconnecté
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Par défaut
    ça devrait t'aider ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     new TIdAttachment(TIDMessage->MessageParts, filepath);

  6. #6
    Membre averti Avatar de renesouley
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 38
    Par défaut
    Salut Say
    Merci pour ce bout de code sauveur!

    je vais l'essayer et demain je vous tiendrai informé du resultat, j'ai l'impression que ca va marcher

    Merci encore
    a+

  7. #7
    say
    say est déconnecté
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Par défaut
    il y a aussi ce post qui propose la même chose :
    http://www.developpez.net/forums/sho...t=piece+jointe

  8. #8
    Membre averti Avatar de renesouley
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 38
    Par défaut merci et merci encore Simon
    salut Simon!

    Merci pour ton code et mon problème a été résolu et voici le code final qui marche tres bien chez moi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    TIdAttachment * IdAttachment = new TIdAttachment(IdMessage1->MessageParts, "");
    IdMessage1->Body = Memo1->Lines;
    IdMessage1->From->Name = Enom->Text;
    IdMessage1->From->Address =Eexpediteur->Text;
    IdMessage1->Recipients->EMailAddresses = Edestinataire->Text;
    IdMessage1->Subject =Eobject->Text;
    IdMessage1->BccList->EMailAddresses = Ebcc->Text;
    IdMessage1->CCList->EMailAddresses = Ecc->Text;
    IdAttachment->FileName = ListBox1->Items->Strings[0].c_str() ;
     
    IdSMTP1->Send(IdMessage1);
    MessageBox(0,"Votre Message a Bien été Expédié","Message Envoyé",MB_OK);
    Mais seulement, lorsque je joint une pièce , elle est attachée 05 fois (05 exemplaires) dans le courrier de destination et là encore un petit problème.
    peut être que mon sauveur fera encore un geste?

    Sinon, je suis entierement satisfait et une fois de plus merci

    Bonne année 2007
    @+
    René

  9. #9
    Membre averti Avatar de renesouley
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 38
    Par défaut Pour les debutants comme moi qui ne savent par où commencer
    Pour les nuls comme moi qui seront interréssés par ces codes n'oubliez pas qu'il ya des adresses Pop (lecture mail) et Stmp (envoi) que vous aurez à utiliser.
    et voici une liste qui pourra vous aider surtout les POP(pour pouvoir lire les mails)
    je ne sais pas si tout fonctionne, mais j'utilise quelques unes.


    9 Telecom
    Serveur POP : pop.neuf.fr
    Serveur SMTP : smtp.neuf.fr


    9ONLINE
    Serveur POP : pop.9online.fr
    Serveur SMTP : smtp.9online.fr

    AOL
    Serveur POP : non
    Serveur SMTP : smtp.fr.aol.com

    ALTERN.ORG
    Serveur POP : pop.altern.org ou altern.org

    CARAMAIL
    Serveur POP : pop.lycos.co.uk
    Serveur SMTP : smtp.lycos.co.uk

    CEGETEL
    Serveur POP : pop.cegetel.net
    Serveur SMTP : smtp.cegetel.net

    CLUB INTERNET
    Serveur POP : pop3.club-internet.fr
    Serveur SMTP : mail.club-internet.fr

    FREEServeur
    POP : pop.free.fr
    Serveur SMTP : smtp.free.fr

    FREESURF
    Serveur POP : pop.freesurf.fr
    Serveur SMTP : smtp.freesurf.fr

    GAWAB
    Serveur POP : pop.gawab.com
    Serveur SMTP : smtp.gawab.com

    GMAIL
    Serveur POP : pop.gmail.com
    Serveur SMTP : smtp.gmail.com

    HOTMAIL
    Serveur POP : pop3hot.com (ou/et localhost ?) // c'est bizare ici j'ai jamais essayé
    Serveur SMTP : localhost


    I(France)
    Serveur POP : pop.ifrance.com
    Serveur SMTP : smtp.ifrance.com

    LA POSTE
    Serveur POP : pop.laposte.net
    Serveur SMTP : smtp.laposte.net

    MAGIC ONLINE
    Serveur POP : pop2.magic.fr
    Serveur SMTP : smtp.magic.fr

    NERIM
    Serveur POP : pop.nerim.net
    Serveur SMTP : smtp.nerim.net

    NET COURRIER
    Serveur POP : mail.netcourrier.com
    Serveur SMTP : idem que celui de votre FAI

    NOOS
    Serveur POP : pop.noos.fr
    Serveur SMTP : mail.noos.fr

    OREKA
    Serveur POP : mail.oreka.fr
    Serveur SMTP : mail.oreka.fr

    SYMPATICO
    Serveur POP : pop1.sympatico.ca
    Serveur SMTP : smtp1.sympatico.ca

    TELE2
    Serveur POP : pop.tele2.fr
    Serveur SMTP : smtp.tele2.fr

    TISCALI
    Serveur POP : pop.tiscali.fr
    Serveur SMTP : smtp.tiscali.fr

    TISCALI-FREESBEE
    Serveur POP : pop.freesbee.fr
    Serveur SMTP : smtp.freesbee.fr


    WANADOO
    Serveur POP : pop.wanadoo.fr
    Serveur SMTP : smtp.wanadoo.fr

    YAHOO
    Serveur POP : pop.mail.yahoo.fr
    Serveur SMTP : smtp.mail.yahoo.fr





    Mais il arrive que lors de l'envoi il ait cette erreur "Connection Closed GraceFully" que je minimise, parceque lorsque je me reconnecte pour la deuxième fois le pb ne se pose plus et pap tout fonctionne

    Bonne année 2007 à tout le monde!
    @+
    René

  10. #10
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2006
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 169
    Par défaut
    Salam.
    J'ai essayé avec ce code mais il y a une exeption .
    Esque vous avez d'autre configuration pour ces deux composants?
    TIdAttachment * IdAttachment = new TIdAttachment(IdMessage1->MessageParts, "");
    IdMessage1->Body = Memo1->Lines;
    IdMessage1->From->Name = Enom->Text;
    IdMessage1->From->Address =Eexpediteur->Text;
    IdMessage1->Recipients->EMailAddresses = Edestinataire->Text;
    IdMessage1->Subject =Eobject->Text;
    IdMessage1->BccList->EMailAddresses = Ebcc->Text;
    IdMessage1->CCList->EMailAddresses = Ecc->Text;
    IdAttachment->FileName = ListBox1->Items->Strings[0].c_str() ;

    IdSMTP1->Send(IdMessage1);
    MessageBox(0,"Votre Message a Bien été Expédié","Message Envoyé",MB_OK);

  11. #11
    say
    say est déconnecté
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Par défaut
    Bah, c'est quoi l'exception??

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment envoyer un mail avec pièce jointe avec MAPI ?
    Par scara dans le forum Web & réseau
    Réponses: 0
    Dernier message: 30/12/2007, 11h21
  2. Envoyer un MAIL avec pièce jointe
    Par DevPerl dans le forum Modules
    Réponses: 3
    Dernier message: 07/09/2007, 23h34
  3. Envoyer un mail avec pièce jointe
    Par anirose dans le forum VBA Access
    Réponses: 6
    Dernier message: 08/11/2006, 12h45
  4. Envoyer un mail avec pièce jointe (javascript)
    Par Dorra_26 dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 21/07/2006, 08h31
  5. [C++/MFC]Envoyer un mail avec Pièce jointe
    Par cjacquel dans le forum MFC
    Réponses: 4
    Dernier message: 12/06/2006, 13h48

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