Smtp et php

Résolu
Bonjour,

- j'aimerai savoir si le SMTP et le PHP peuvent aller ensemble ?

- si il est obligatoire d'avoir le smtp pour recevoir des info d'une newsletter ou d'un formulaire sur ça boite mail ?

- si jamais on ne reçois pas les donner du formulaire ,d'ou cela peut -il provenir ?

mon hébergeurs prend en compte le SMTP !!!



--
merci de ne pas oublier de mettre résolu lorsque cela est le cas ou de dire résolu quand vous ne pouvez pas !

+1 permet d'aider les autres !
----------------------------
[Aimer ce n'est pas renoncer à sa liberté, c'est lui donner un sens.]

4 réponses

Résumé de la discussion

La discussion porte sur la compatibilité entre SMTP et PHP et sur la possibilité de recevoir les données d'un formulaire directement sur une adresse mail. Des réponses expliquent que SMTP sert à l'envoi et que récupérer des données via formulaire exige une étape de collecte côté PHP puis l'envoi des données capturées par mail. Plusieurs réponses suggèrent d'abord de configurer PHP et SMTP (php.ini ou le SMTP du FAI ou d'un service comme Gmail), puis d'apprendre à récupérer les données et à les transmettre par mail. En cas de souci, les échanges montrent que les problématiques viennent du code PHP, de la maîtrise du formulaire et de la configuration serveur, et une approche progressive est recommandée.

Bobot (l’IA à votre service)
  1. Salut,

    - j'aimerai savoir si le SMTP et le PHP peuvent aller ensemble ?


    oui tu peux envoyer des mails avec php via le protocole smtp.

    - si il est obligatoire d'avoir le smtp pour recevoir des info d'une newsletter ou d'un formulaire sur ça boite mail ?
    smtp sert à envoyer et non à recevoir. Il est donc impossible (et à fortiori inutile) d'utiliser le protocole smtp pour recevoir quoi que ce soit.

    - si jamais on ne reçois pas les donner du formulaire ,d'ou cela peut -il provenir ?

    De pas mal d'endroit... Sers toi des messages d'erreur de ton serveur pour te mettre sur la bonne piste ;). Où expliques ton problème plus précisement sur ce forum.
    0
    1. a donc le smtp sert a envoyer ,rien avoir avec ce qu'on me dit !

      moi j'aimerai recevoir les info d'un formulaire directement sur un boite mail !

      j'ai donc crée 2 fichier :

      le 1er s'appelle : envoi.php

      <FORM method="post" action="envoi.php" >  
      
      <?php  
      $TO = "mon mail";  
      $h = "mon mail" \r\n"; 
      $h .= 'Mime-Version: 1.0'."\r\n";  
      $h .= 'Content-type: text/html; charset=utf-8'."\r\n" . $TO; 
      
      echo $message; 
      
      echo '<script>alert("Bonjour, et merci pour votre message");</script>'; 
      
      
      ?> 
      


      le 2eme :
      version.php 


      celui ci contient le formulaire en question ,donc pas très important .

      j'ai donc envoyer vers WAMP >> répertoire WWW et mis ces 2 fichier + les autre du site .

      le problème c'est que je ne reçois rien sur ma boite mail
      ,je comprend maintenant le pourquoi du comment !

      mais donc comment peut -on recevoir les info d'un formulaire

      ;)

      merci de ne pas oublier de mettre résolu lorsque cela est le cas ou de dire résolu quand vous ne pouvez pas !

      +1 permet d'aider les autres !
      ----------------------------
      [Aimer ce n'est pas renoncer à sa liberté, c'est lui donner un sens.]
      0
      1. https://www.vulgarisation-informatique.com/mail.php

        Il y a des erreurs dans envoi.php Ce tuto devrait t'aider à les corriger
        0
        1. pourtant on ma dit le contraire !

          et sinon le lien c'est uniquement pour l'envoie ,pas pour RECEVOIR ;)
          0
        2. C'est pas php qui gère le reçu. C'est de la même façon que quand toi tu envoies un mail. Tu envoies à une adresse, mais tu dis pas comment le récupérer. L'adresse d'en face se démerde toute seule !

          Lit le tuto, il y a des erreurs, et ce tuto aide à les corriger (ce sont des erreurs basiques...)
          0
        3. ok ,merci ,je te tien au courent
          0
        4. Salut, Note aussi que sous WAMP il faudra configurer ton SMTP. Par défaut, c'est localhost, qui n'est pas valide...
          0
        5. alors j'ai rajouter :

          .$_POST['nom'].$_POST['prenom'].$_POST['comm'].$_POST['adresse'].$_POST['pays']; 
          .$_POST['ville_province'].$_POST['departement_francais'].$_POST['code_postal'] 
          .$_POST['telephone'].$_POST['e_mail'].$_POST['site_web']; 
          


          c'est mieux ?

          ce qui donne :

          <FORM method="post" action="envoi.php" >  
          
          <?php  
          $TO = "Mon adresse mail";  
          $h = "Mon adresse mail \r\n"; 
          $h .= 'Mime-Version: 1.0'."\r\n";  
          $h .= 'Content-type: text/html; charset=utf-8'."\r\n" . $TO; 
          
          echo $message; 
          
          .$_POST['nom'].$_POST['prenom'].$_POST['comm'].$_POST['adresse'].$_POST['pays']; 
          .$_POST['ville_province'].$_POST['departement_francais'].$_POST['code_postal'] 
          .$_POST['telephone'].$_POST['e_mail'].$_POST['site_web']; 
          
          
          echo ''; 
          
          
          ?> 
          
          0
      2. voila ce qu j'ai fait :

        j'ai mis ce code dans un fichier : mail.php

        <?php
        $mail = 'adressse@mail.com'; // Déclaration de l'adresse de destination.
        if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail)) // On filtre les serveurs qui rencontrent des bogues.
        {
        	$passage_ligne = "\r\n";
        }
        else
        {
        	$passage_ligne = "\n";
        }
        //=====Déclaration des messages au format texte et au format HTML.
        $message_txt = "Salut à tous, voici un e-mail envoyé par un script PHP.";
        $message_html = "<html><head></head><body><b>Salut à tous</b>, voici un e-mail envoyé par un <i>script PHP</i>.</body></html>";
        //==========
         
        //=====Création de la boundary
        $boundary = "-----=".md5(rand());
        //==========
         
        //=====Définition du sujet.
        $sujet = "Hey mon ami !";
        //=========
         
        //=====Création du header de l'e-mail.
        $header = "From: \"Me\"<adressse@mail.com>".$passage_ligne;
        $header.= "Reply-to: \"Me\" <adressse@mail.com>".$passage_ligne;
        $header.= "MIME-Version: 1.0".$passage_ligne;
        $header.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
        //==========
         
        //=====Création du message.
        $message = $passage_ligne.$boundary.$passage_ligne;
        //=====Ajout du message au format texte.
        $message.= "Content-Type: text/plain; charset=\"ISO-8859-1\"".$passage_ligne;
        $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
        $message.= $passage_ligne.$message_txt.$passage_ligne;
        //==========
        $message.= $passage_ligne."--".$boundary.$passage_ligne;
        //=====Ajout du message au format HTML
        $message.= "Content-Type: text/html; charset=\"ISO-8859-1\"".$passage_ligne;
        $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
        $message.= $passage_ligne.$message_html.$passage_ligne;
        //==========
        $message.= $passage_ligne."--".$boundary."--".$passage_ligne;
        $message.= $passage_ligne."--".$boundary."--".$passage_ligne;
        //==========
         
        //=====Envoi de l'e-mail.
        mail($mail,$sujet,$message,$header);
        //==========
        ?>
        


        évidemment le remplacement des "@mail.com" est déjà fait :

        les teste que j'ai fait après l'envoie du fichier mail.php

        celui de localhost : Not Found

        The requested URL /envoi/envoi.php was not found on this server.

        et sur le site en ligne : Not Found

        The requested URL /envoi/envoi.php was not found on this server.


        normale qu'il appelle ça envoi.php?

        que faire après tout ça


        0
        1. ?
          0
        2. Non tu fais beaucoup compliqué (et en plus c'est incorrect). Fait quelque chose le plus simple possible pour commencer.

          Pour voir si tu as compris, envoi un mail de : adresseenvoi@yopmail.com à adresserecu@yopmail.com, avec comme message "Ceci est un test !".

          Bon l'envoi ne marchera surement pas, mais poste le code ici, si il est correct on te le dira.

          Voilà. C'est tout. C'est un mail le plus simple possible. Quand tu sauras faire ça tu sauras (presque) tous les faire.
          0
        3. en faite c'est bon
          0