8797 sujets

Développement web côté serveur, CMS

Bonjour,

Débutante en php, je reçois un message d'erreur à l'envoi du formulaire:

Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in D:\InetPub\wwwroot\monsite.com\mailer.php on line 36



<?php

	$nom = $_POST['nom']; 
	$prenom = $_POST['prenom']; 
	$adresse = $_POST['adresse']; 
	$code_postal = $_POST['code_postal']; 
	$ville = $_POST['ville']; 
	$pays = $_POST['pays']; 
	$commentaire = $_POST['commentaire'];
	$mail_contact = $_POST['mail'];
	
	
	
	//voici la version Mine 
	$headers = "MIME-Version: 1.0\r\n"; 
 
	//ici on détermine le mail en format texte 
	$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n"; 
 
	//ici on détermine l'expediteur et l'adresse de réponse 
	$headers .= "From: $nom\r\nReply-to : <$mail_contact>\nX-Mailer [langue]HP";
	
	
	
	$subject="Message venant du site"; 
	$destinataire="monadresse@gmail.com"; 
	$body	="Message venant de : ".$prenom." ".$nom.".\n";
	$body	.= "Habitant ".$adresse.".\n";
	$body	.= "Code postal : ".$code_postal.".\n";
	$body	.= "Ville : ".$ville.".\n";
	$body	.= "Pays : ".$pays.".\n";
	$body	.= "Le message est le suivant : ".$commentaire.".\n";

	//Envoie du mail
	mail($destinataire,$subject,$body,$headers);
	echo "<h1><center>Le mail a bien été envoyé. Retour au <a href=http://www.monsite.com/merci.php>site</a></center></h1>"
?>


La ligne 36 est: mail($destinataire,$subject,$body,$headers);

J'ai déjà regardé sur d'autres forum, sans comprendre pourquoi ça ne fonctionne pas.

Merci pour vos lumières! Smiley biggrin
Modifié par mailbox13630 (03 Apr 2011 - 18:20)
Il faut configurer un serveur local pour qu'il puisse envoyer des messages...

Voici ce que donne le FAQ d'EasyPhp à cet égard :

55.La fonction php "mail" renvoi une erreur !
Il faut renseigner le serveur smtp à utiliser pour l'envoi des messages, éditer le fichier de configuration de PHP (Menu "Configuration/PHP") et rechercher la chaine "SMTP".
Précisez le SMTP a utiliser au lieu de 'localhost' (typiquement : celui de votre FAI), et indiquez une adresse sendmail_from valide.