Prob formulaire email et hotmail.fr

laurent1313 Messages postés 3 Statut Membre -  
 la maison -
Bonjour,
j'ai un site internet qui héberge une page contact avec un formulaire email en php.
Ce formulaire marche très bien sauf que je ne reçois pas les mail lorsque la personne qui me l'envoi a une adresse email qui fini en hotmail.fr.

J'ai essayé et ça marche très bien avec hotmail.com, wanadoo.fr, voila.fr.
J'ai essayé avec plusieurs personnes qui ont un email en hotmail.fr et ça ne marche jamais.

Quelqu'un peut il m'aider ?
Merci d'avance.
Configuration: Windows Vista
Internet Explorer 7.0

4 réponses

  1. R4f Messages postés 441 Statut Membre 62
     
    Il faudrait que tu fasse un test pour vérifier si le mail est bien envoyé :

    if (mail($destinataire,$objet,$message,$from))
    	echo "Mail envoyé avec succès";
    else
    	echo "Erreur dans l'envoi du mail";
    


    Mais en fait, je viens de trouver un truc très intéressant !

    https://www.php.net/manual/fr/function.mail.php : dans les commentaires,
    le commentaire apdhanushka at yahoo dot com du 30-Jan-2008 01:21 :
    Are you getting spammed while sendig emails using php mail() function to yahoo or hotmail?
    
     It is a common problem for all using php mail function. To solve this there
    are so many answers I have seen in the internet and they do not hit problem
    correctly.
    
    Actually the problem here is if we send mails using php mail function we do
    not have a signature and other mailing systems thinks that we are spamers.
    
    So the solution is using a free remote smtp host like gmail to send our mails.
    It is not hard because we have a free php smtp project called PHPMailer. You
    can download it from https://sourceforge.net/projects/phpmailer/files/
    You do not need to install it on your server and you can upload it to the server with your code.
    
    It is very easy to understand how it is used to send mails using examples
    zipped with PHPMailer. The following code is to send emails using gmail and
    to do that you have to have a gmail mail account. Which can easily be created
    by visiting https://accounts.google.com/ServiceLogin?service=mail&passive=true&rm=false&continue=https://mail.google.com/mail/&ss=1&scc=1&ltmpl=default&ltmplcache=2&emr=1&osid=1 Your mails will
    send using that mail account and they will never become spams...
    
    You can follow the following link to get the code to send emails using gmail's free smtp service.
    http://bestdeveloper.blogspot.com/
    


    Bref, pour résumer : utiliser la fonction mail de PHP n'est pas une bonne idée. Il vaut mieux utiliser des classes d'envoi de mail qui sont faites pour ça, sont plus robustes et plus finies. mail est une fonction trop brute :
    - swiftmailer : https://swiftmailer.symfony.com
    - phpmailer : http://phpmailer.codeworxtech.com/

    Un petit exemple d'envoi de mail avec PHPMailer :
    <?php
    require("class.phpmailer.php");
    $mail = new PHPMailer();
    $mail->IsSMTP(); // telling the class to use SMTP
    $mail->Host = "smtp.example.com"; // SMTP server
    $mail->From = "from@example.com";
    $mail->AddAddress("myfriend@example.net");
    
    $mail->Subject = "First PHPMailer Message";
    $mail->Body = "Hi! \n\n This is my first e-mail sent through PHPMailer.";
    $mail->WordWrap = 50;
    
    if(!$mail->Send())
    {
       echo 'Message was not sent.';
       echo 'Mailer error: ' . $mail->ErrorInfo;
    }
    else
    {
       echo 'Message has been sent.';
    }
    ?>


    Et pour Swift Mailer 3 :

    <?php
     
    //Load in the files we'll need
    require_once "lib/Swift.php";
    require_once "lib/Swift/Connection/SMTP.php";
     
    //Start Swift
    $swift =& new Swift(new Swift_Connection_SMTP("smtp.your-host.tld"));
     
    //Create the message
    $message =& new Swift_Message("My subject", "My body");
     
    //Now check if Swift actually sends it
    if ($swift->send($message, "foo@bar.tld", "me@mydomain.com")) echo "Sent";
    else echo "Failed";
    


    Bon, vraiment pas sorcier, hein ?!

    Raph
    1
  2. R4f Messages postés 441 Statut Membre 62
     
    Salut laurent1313,

    Tu as le code de ton script ?
    0
    1. Dacobah Messages postés 272 Statut Membre 74
       
      C'est sûr que ce serait visuellement plus parlant :P
      0
    2. la maison
       
      brit ndir msn s il te plait
      0
  3. laurent1313 Messages postés 3 Statut Membre
     
    Voici,
    Mais je suis pas sûr que cela vous aide... Je vois pas du tout d'où ça peut venir... Le truc le plus bizarre c'est que ça marche avec toutes les autres adresses email sauf hotmail.fr.

    Le formulaire :
    <p class="Style11">Vous pouvez nous envoyer un email : </p>
    <form method="post" action="mail.php">
    <h2><span class="Style10">Votre Email </span><br />
    <input type="text" name="votremail" maxlength="250" />
    <input type="hidden" name="objet" value="Vous avez un nouveau message" />
    </h2>
    <p>
    <span class="Style10">Votre message </span><br />
    <textarea cols="66" rows="6" name="message"></textarea>
    </p>
    <input type="submit" class="Style6" value="Envoyer ! " />
    </form>

    Le module php :
    <?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">";
    $verif="!^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-zA-Z]{2,4}$!";
    $votremail=$_POST["votremail"];
    $from=htmlentities("From: ".$votremail);
    $message=stripslashes(htmlspecialchars($_POST["message"]));
    $destinataire="contact@lesplaisirsdelabalneo.com";
    $objet=$_POST['objet'];
    if(!preg_match($verif,$votremail))
    {
    echo "Voter email n'est pas valide";
    }

    elseif (trim($message)=="")
    {
    echo "Votre message est vide !";
    }
    else
    {
    mail($destinataire,$objet,$message,$from);
    echo "Votre message nous a été envoyé";
    }?>

    Je sens que ça va pas vous aider...à m'aider :-)
    0
  4. laurent1313 Messages postés 3 Statut Membre
     
    Bonjour à tous,
    Je reviens sur ce sujet puisque je n'ai toujours pas trouvé de solution.

    swiftmailer et phpmailer sont des usines à Gaz qui peuvent être utiles pour tous ceux qui veulent faire du Mailling de masse. Ce n'est pas du tout mon cas. Moi, je voudrai juste avoir une fonction mail php qui fonctionne. J'arrive pas à croire que je sois le seul à galérer avec cette histoire...

    Je teste phpmailer et je reviens.

    encore merci.
    0