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

Composants VCL Delphi Discussion :

envoyer mail avec delphi


Sujet :

Composants VCL Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 35
    Points : 16
    Points
    16
    Par défaut envoyer mail avec delphi
    Salut,

    est-il possible avec delphi, d'envoyer un mail sans utiliser de serveur smtp ??

    si oui comment ?

    merci d'avance

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 35
    Points : 16
    Points
    16
    Par défaut
    je pensais utiliser un webbrowser et un fichier php sur un serveur, est-ce que ça peut marcher ??

  3. #3
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Oui ça peut marcher, mais plutôt qu'un webbrowser tu devrais utiliser un TIdHTTP
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 35
    Points : 16
    Points
    16
    Par défaut
    qu'elle est la différence entre les deux ?

    sinon je ne vois pas comment je pourrais envoyer une piece jointe de cette manière

    vous n'avez pas une autre idée ??

  5. #5
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Citation Envoyé par Seb4657
    qu'elle est la différence entre les deux ?
    Ben le webbrowser est prévu pour permettre à l'utilisateur de naviguer sur des pages Web, il est donc beaucoup plus lourd et requiert Internet Explorer. Alors que le TIdHTTP ne s'occuppe que de l'accès HTTP à ton serveur, juste ce dont tu as besoin ; en plus, tu peux le configurer de façon plus complète que le WebBrowser, qui lui récupère la configuration de l'utilisateur.
    Citation Envoyé par Seb4657
    sinon je ne vois pas comment je pourrais envoyer une piece jointe de cette manière
    Au moyen des paramètres de type POST.
    Citation Envoyé par Seb4657
    vous n'avez pas une autre idée ??
    Ben si, utiliser un serveur SMTP ou alors coder ton propre serveur SMTP
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 35
    Points : 16
    Points
    16
    Par défaut
    comment utiliser les parametres POST ??

    sinon, pour le webbrowser je mettais webbrowser.navigate, la je dois mettre IdHTTP1. koi ??

  7. #7
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Citation Envoyé par Seb4657
    comment utiliser les parametres POST ??
    Ben côté PHP c'est pas le bon forum ; côté WebBrowser ça m'étonnerait que tu y arrives ; et côté IdHTTP il faut voir dans la doc.
    Citation Envoyé par Seb4657
    sinon, pour le webbrowser je mettais webbrowser.navigate, la je dois mettre IdHTTP1. koi ??
    Utilise la méthode Post (il y a aussi la méthode Get mais qui ne permet pas l'utilisation des paramètres POST, à l'instar des formulaires Web)
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 35
    Points : 16
    Points
    16
    Par défaut
    il me met ceci : [Error] unit1.pas(116): E2250 There is no overloaded version of 'Post' that can be called with these arguments

    qu'est-ce que ça signifie ??

  9. #9
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Ca signifie avec une clarté limpide que tu n'appelles pas la méthode Post avec les bons arguments

    Montre ton code qu'on puisse mieux t'aider
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 35
    Points : 16
    Points
    16
    Par défaut
    bien mon code c'est pas compliqué, c'est juste :

    procedure TForm1.Button5Click(Sender: TObject);
    begin
    IdHTTP1.post('site/page.php');
    end;
    mais j'ai cherché sur google et j'ai trouvé ceci :

    http://www.phidels.com/php/index.php3?page=../php/pagetelechargementzip.php3&LienTelechargement=../php/zip/webbrowserentree.zip&NomExempleTelechargement=Pouvoir%20utiliser%20la%20touche%20entr%E9e%20lors%20de%20l'utilisation%20du%20TWebBrowser&id=412

    (dsl pour l'url )

    le principe est de simuler l'appui sur la touche entree lors de l'ouverture de la page, mais ça ne marche pas, il ne se produit rien

    merci

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 35
    Points : 16
    Points
    16
    Par défaut
    personne n'a une petite idée ???

  12. #12
    Membre régulier Avatar de newbie57
    Inscrit en
    Juin 2005
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Juin 2005
    Messages : 124
    Points : 92
    Points
    92
    Par défaut
    Salut Seb4657,

    J'ai lu ton post et comme par hazard je suis en train de faire la même que toi. Je vais essayer d'être le plus clair possible sachant que je suis un ultra débutant en delphi (mais un peu mieux en php )

    Alors, au sujet de IdHTTP.Post, pour pouvoir l'appeler, j'utilise la manière suivante:
    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
     
    var
      destinataire: String;  
      message: String;
      Ts: TStringList;         //necessaire pour envoyer les parametres au php
      ok: String;               //sert a interpreter ce que fait la page php.
    Begin
      destinataire := label1.text;
      message := label2.text;
     
      Ts := TStringList.create;
      Ts.Clear;
     
      Ts.Append('destinataire=' + destinataire);      //sera repris par le php     attention a l'orthographe!
     
      Ts.Append('message=' + message);              //sera repris par le php attention a l'orthographe!
     
      ok := IdHTTP1.Post('http://monsite.net/envoimail.php',Ts);
     
      if ok = '!' then
      begin
         //delphi interprete comme une erreur
      end
      else if ok = 'ok' then
      begin
        //delphi interprete comme un bon déroulement de la page php
      end;
    Pour expliquer ce que j'ai fait si dessus, en fait le message et le destinataire sont envoyé à la page php grace au Ts, en retour la page php (avec un echo revoit soit '!' soit 'ok' selon que ça fonctionne ou pas. (Tu peux mettre ce que tu veux ou rien si tu veux aussi)

    Au sujet du Ts, j'ai dit de faire attention a l'orthographe car pour le php, $_POST doit avoir les mêmes parametres que ce que tu envoi par delphi.

    Pour le script php (qui s'appelle envoimail.php dans mon exemple):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    <?php
    /*le destinataire est récupéré ici*/
    $dest = $_POST["destinataire"];
     
    /*le message est récupéré ici*/
    $mess= $_POST["message"];
     
    /*
    ici tu utilisera la fonction mail() et tu étudiras les cas ou tu aurais une erreur. si erreur alors echo '!'  ou die ('!') sinon echo 'ok'
    */
    ?>

    J'espère que j'ai répondu à tes attentes

    Joyeuses fêtes 8)

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 35
    Points : 16
    Points
    16
    Par défaut
    merci bcp pour ton aide newbie57 !!!

  14. #14
    Membre expérimenté
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Points : 1 392
    Points
    1 392
    Par défaut
    [RESOLU] ?

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 35
    Points : 16
    Points
    16
    Par défaut
    euh nn pas tout a fait, car en fait je viens de me rendre compte que je ne reçois pas du tout le mail

  16. #16
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Citation Envoyé par Seb4657
    euh nn pas tout a fait, car en fait je viens de me rendre compte que je ne reçois pas du tout le mail
    As-tu vérifié que le PHP est bien appelé, avec les bons paramètres, et que sa réponse est 'ok' ?

    Si oui alors il y a un problème dans ton code PHP et ça c'est pour le forum PHP (quoique pour la continuité du thread tu pourrais poster ton code final ici).

    Sinon montre nous le code complet Delphi, qu'on voit comment tu as fait finalement
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  17. #17
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 35
    Points : 16
    Points
    16
    Par défaut
    a si c'est bon, je reçois le mail, maintenant est-ce possible d'y inserer une piece jointe ??

  18. #18
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Oui c'est tout à fait possible, mais pour ça vois dans PHP Sans oublier les cours PHP du site bien sûr.
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  19. #19
    Membre émérite
    Avatar de skywaukers
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2005
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 216
    Points : 2 303
    Points
    2 303
    Par défaut
    bonjour,

    pourquoi ne pas utiliser shellexecute ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShellExecute ( 0, 'Open', PChar( 'mailto:AdresseDestinaire?subject=Objet_du_mel&body=corps_du_message'), '', '', SW_SHOWNORMAL);
    ou alors il y a aussi la possibilité d'utiliser MAPI, mais c'est plus compliqué et avec les dernières version d'Outlook l'utilisateur doit répondre à un message d'avertissement.

    @++
    Dany[/code]

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

Discussions similaires

  1. [Indy] Envoyer un mail avec Delphi
    Par Hmalik dans le forum Composants VCL
    Réponses: 1
    Dernier message: 13/03/2011, 17h18
  2. Envoyer un e.mail avec delphi
    Par msuire dans le forum Web & réseau
    Réponses: 2
    Dernier message: 20/10/2007, 12h33
  3. Envoyé un mail avec Delphi 2007 et Windows Mail
    Par rivierebruno22 dans le forum Web & réseau
    Réponses: 3
    Dernier message: 03/08/2007, 10h08

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