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 :

Envoyer un fichier par mail


Sujet :

C++Builder

Vue hybride

kmaniche Envoyer un fichier par mail 31/10/2006, 08h34
bakaneko Voici un bout de code que... 31/10/2006, 08h49
Flow_75 une question concernant la... 31/10/2006, 09h08
bakaneko Oups :oops: Erreur de... 31/10/2006, 09h13
pottiez Sinon il y a le composant... 31/10/2006, 10h53
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    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 Envoyer un fichier par mail
    Bonjour,

    Je developpe une application de gestion, et le résultat d'une requette est sauver dans un fichier.

    A l'aide d'un boutton je cherche à envoyer ce fichier (+ un objet et un texte) à un client que j'ai son adresse mail dans un TEdit (exemple : usflay@yahoo.fr).

    Es-ce que quelqu'un pourrai m'aider, comment et quels composants utiliser.

    Merci.

    @+

  2. #2
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Par défaut
    Voici un bout de code que j'ai fait il y a quelques temps.
    Je ne sais plus s'il marche mais il devrait t'aider à trouver ton bonheur.

    Code C++ : 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
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
     
    bool EnvoieMail(TForm* Fiche,InfosMail Infos,TStrings* Body,bool Date)
    {
     TIdSMTP* SMTP = new TIdSMTP(Fiche);//composant d'envoi de données
     TIdMessage* Message = new TIdMessage(Fiche);//composant de gestion du message
     
     Message->CharSet = "iso-8859-1";
     
     if (Date)//si insertion de date
     {
      AnsiString DatePost = "Posté le " + Now().DateString() + " à "+ Now().TimeString();//création de la ligne date
      Message->Body->Add(DatePost);//ajout au message
     }
     
     for (int i = 0;i < Body->Count;i++)//parcours des lignes du message
            Message->Body->Add(Body->Strings[i]);//ajout de la ligne
     Message->ContentType = "text/plain";//type de texte
     
     Message->From->Text = Infos.Source;//ajout adresse origine
     
     Message->Recipients->EMailAddresses = Infos.Cible;//ajout adresse cible
     Message->Subject = Infos.Sujet;//ajout sujet
     
     TIdAttachment* Attache = NULL;
     if (Infos.Joint.Length() != 0)//si piece jointe
     {
      Message->ContentType = "multipart/mixed";//type de message
      Attache = new TIdAttachment(Message->MessageParts,Infos.Joint);//ajout de la pièce jointe
     }
     
     SMTP->Host = Infos.SMTP; //adresse de l'hote
     SMTP->Port = 25;//port SMTP
     
     if (Infos.Pass.Length() != 0 && Infos.Login.Length() != 0)//si présence donnée log et pass
     {
      SMTP->UserId = Infos.Login;//ajout login
      SMTP->Password = Infos.Pass;//ajout pass
      SMTP->AuthenticationType = atLogin;//identification
     }
     else
            SMTP->AuthenticationType = atNone;//pas d'identification
     
     if (SMTP->AuthenticationType == atLogin)//si identification
     {
      if (!SMTP->Authenticate())//si identification ratée
      {
       if (Attache != NULL)
            delete Attache;
     
       delete Message;
       delete SMTP;
       return false;//erreur
      }
     }
     SMTP->Connect();//connection
     
     if (SMTP->Connected())//si connection OK
            SMTP->Send(Message);//envoie mail
     else//sinon
     {
      if (Attache != NULL)
            delete Attache;
      delete Message;
      delete SMTP;
      return false;//erreur
     }
     
     if (Attache != NULL)
            delete Attache;
     delete Message;
     delete SMTP;
     
     return true; //sortie OK
    }

    Nb:
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    typedef struct
    {
     AnsiString Source,//Mail source
                Cible,//Mail cible
                SMTP,//lien SMTP
                Login,//login pour lien SMTP
                Pass,//pass pour lien SMTP
                Sujet,//sujet du mail
                Joint;//chemin de la pièce jointe
    }InfosMail;//structure info mail

  3. #3
    Membre éprouvé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 100
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 100
    Par défaut
    une question concernant la structure que tu passes en parametre, en particulier a la variable Joint et a son commentaire correspondant. Il s'agit bien de la variable pour le fichier joint, rassure moi.....car d'apres le commentaire, il s'agit d'une couleur...........et dans ton code, il s'agit des parametre de la piece jointe.
    Merci

  4. #4
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Par défaut
    Citation Envoyé par Flob91
    une question concernant la structure que tu passes en parametre, en particulier a la variable Joint et a son commentaire correspondant. Il s'agit bien de la variable pour le fichier joint, rassure moi.....car d'apres le commentaire, il s'agit d'une couleur...........et dans ton code, il s'agit des parametre de la piece jointe.
    Merci
    Oups
    Erreur de copier/coller dans le commentaire
    C'est bien le chemin de la pièce jointe

  5. #5
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Sinon il y a le composant TNMSMTP, qui est facile a utiliser.

  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
    Bonjour,

    j'ai un compte sur yahoo.fr "kusp@yahoo.fr" et cherche à envoyer un mail+un fichier attaché vers l'email "usflay@yahoo.fr"

    Malheuresement je ne conais pas l'adresse du host de yahoo

    merci de m'aider svp.

    @+

Discussions similaires

  1. [XL-2003] envoyer un fichier par mail
    Par facteur dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/09/2009, 23h12
  2. envoyer un fichier par mail
    Par alsimbad dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 07/03/2008, 14h31
  3. Envoyer un fichier par mail sans Outlook
    Par kiki29 dans le forum Contribuez
    Réponses: 2
    Dernier message: 03/09/2007, 01h11
  4. [Mail] Envoyer un fichier par mail
    Par Oberown dans le forum Langage
    Réponses: 3
    Dernier message: 24/10/2005, 15h55

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