Prob formulaire email et hotmail.fr

Fermé
laurent1313 Messages postés 3 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 13 mai 2008 - 17 avril 2008 à 18:27
 la maison - 16 févr. 2012 à 18:36
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.

4 réponses

R4f Messages postés 441 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 5 mai 2008 62
18 avril 2008 à 11:14
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<mpl=default<mplcache=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
R4f Messages postés 441 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 5 mai 2008 62
17 avril 2008 à 19:47
Salut laurent1313,

Tu as le code de ton script ?
0
Dacobah Messages postés 260 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 28 septembre 2011 74
17 avril 2008 à 19:57
C'est sûr que ce serait visuellement plus parlant :P
0
brit ndir msn s il te plait
0
laurent1313 Messages postés 3 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 13 mai 2008
18 avril 2008 à 00:20
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
laurent1313 Messages postés 3 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 13 mai 2008
13 mai 2008 à 17:34
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