Mail php : pas d'envoi...

Résolu
Profil bloqué -  
 Profil bloqué -
Bonjour à tous !

J'ai un petit problème : je pense avoir fait un formulaire de contact qui marche (qui envoi en php à une page qui envoi le mail) mais je ne reçois aucun mail... comme si c'était bloqué par l'hébergeur.

J'ai essayé sur un autre hébergeur : même problème.

Vous pouvez trouver le site ici : http://dynami.hebergratuit.com
La page concernée est la page contact.html qui envoi le mail à formmail.php

Merci de vos idées !!!

--
Varaldi Q.
Laisse moi 2 minutes que j'te trouve un autre truc...

6 réponses

  1. mpmp93 Messages postés 2931 Date d'inscription   Statut Membre Dernière intervention   1 343
     
    Bonsoir,

    Souvent sur ce type d'hébergement, la fonction mail() est inhibée.

    A+
    0
  2. Profil bloqué
     
    Ca serait vraiment bien ça, étant donné qu'il s'agit juste de serveurs provisoirs pour que je vois comment ça réagit online.

    On va croiser les doigts !
    0
  3. Profil bloqué
     
    Pour le formulaire : view-source:http://dynami.hebergratuit.com/contact.html

    Pour son traitement :

    <?php
    $mail = 'q.varaldi@gmail.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 = "Nom : ".$_POST["nom"]."Société : "$_POST["societe"].$passage_ligne.$_POST["message"];
    $message_html = "Nom : ".$_POST["nom"]."Société : "$_POST["societe"].$passage_ligne.$_POST["message"];
    //==========
      
    //=====Création de la boundary
    $boundary = "-----=".md5(rand());
    //==========
      
    //=====Définition du sujet.
    $sujet = $_POST["objet"];
    //=========
      
    //=====Création du header de l'e-mail.
    $header = "From: \"Varaldi\"<q.varaldi@gmail.com>".$passage_ligne;
    $header.= "Reply-to: \"Varaldi\" <".$_POST["mail"].">".$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);
    //==========
    location:('index.php');
    ?>
    

    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. Utilisateur anonyme
     
    Je n'ai pas encore regardé le contenu du mail lui même, mais déjà, peux-tu faire

    un die ('ok'); juste avant l'appel à mail pour voir que ça va bien jusque là ?
    Puis, si ça va bien retirer ce die et modifier le mail :
    if (mail($mail,$sujet,$message,$header)) die (' mail ok') ; else die('mail ko');


    Et enfin, ton location: ne veut rien dire. En tous cas, pas ce que tu crois : il faut faire
    header("Location: index.php");
    0
    1. mpmp93 Messages postés 2931 Date d'inscription   Statut Membre Dernière intervention   1 343
       
      Bonjour,

      Vous vous embettez bien à tout construire. Si vous passez par Zend Framework, voici ce que donne un envoi de mail:

      // Utilisaton module Mail de Zend Framework 
      require_once 'Zend/Loader.php'; 
      Zend_Loader::loadClass ('Zend_Mail' ); 
      $mail = new Zend_Mail('UTF8'); 
      $mail->setBodyHtml($Message); 
      $mail->setFrom($_POST['from']); 
      $mail->addTo('---ici adresse mail destinataire----'); 
      $mail->setSubject(stripslashes($_POST['sujet'])); 
      ?> 
          <p><?php 
          try { 
              $mail->send(); 
          } catch (Exception $e) { 
              echo "Mailer Erreurs: ". $e->getMessage(); 
              die; 
          } 
          ?> </p>
          <b>le message a bien été transmis au <i>destinataire</i></b></p>


      En savoir plus sur Zend Mail:
      https://framework.zend.com/manual/1.12/fr/zend.mail.introduction.html

      A+
      0
    2. Profil bloqué
       
      Rien n'y fait, ni l'un, ni l'autre...

      Je pense qu'il y a un problème au niveau du serveur...
      0
  6. Profil bloqué
     
    Salut à tous !

    C'était bien l'hébergement qui était incompatible, bien que l'hébergeur lui-même ne le savait pas...
    0