Bonjour, merci de t'occuper de mon problème.
J'ai essayé en utilisant zend framework que j'utilise pour mon site :
code
<?php
/** Zend_Controller_Action */
//require_once 'Zend/Controller/Action.php';
class IndexController extends Zend_Controller_Action
{
public function indexAction()
{
require_once 'Zend/Mail.php';
$mail = new Zend_Mail();
$mail->setBodyText('Ceci est le texte du message.');
$mail->setFrom('somebody@example.com', 'un expéditeur');
$mail->addTo('somebody_else@example.com', 'un destinataire');
$mail->setSubject('Sujet de test');
$mail->send();
die();
}
}
pris sur
http://framework.zend.com/manual/fr/zend.mail.html
et j'ai :
Fatal error: Uncaught exception 'Zend_Mail_Transport_Exception' with message 'Unable to send mail' in C:\Program Files\wamp\php\libraries\Zend\Mail\Transport\Sendmail.php:101 Stack trace: #0 C:\Program Files\wamp\php\libraries\Zend\Mail\Transport\Abstract.php(333): Zend_Mail_Transport_Sendmail->_sendMail() #1 C:\Program Files\wamp\php\libraries\Zend\Mail.php(648): Zend_Mail_Transport_Abstract->send(Object(Zend_Mail)) #2 C:\Program Files\wamp\www\siroco\application\controllers\IndexController.php(21): Zend_Mail->send() #3 C:\Program Files\wamp\php\libraries\Zend\Controller\Action.php(497): IndexController->indexAction() #4 C:\Program Files\wamp\php\libraries\Zend\Controller\Dispatcher\Standard.php(238): Zend_Controller_Action->dispatch('indexAction') #5 C:\Program Files\wamp\php\libraries\Zend\Controller\Front.php(920): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #6 C:\Program Files\wamp\www\siroco\html\index.php(37): Zend_Controller_Front->disp in C:\Program Files\wamp\php\libraries\Zend\Mail\Transport\Sendmail.php on line 101
donc j'ai abandonné Zend, et j'ai tenté plusieurs autres trucs dont
<?php
if($_POST){
//Récupération des données du formulaire----------------------------
$prenom = $_POST["prenom"];
$nom = $_POST["nom"];
$email = $_POST["email"];
$tel = $_POST["tel"];
$message = $_POST["message"];
$subject = $_POST["subject"];
//------------------------------------------------------------------
//Gestion des erreurs de saisie-------------------------------------
$erreurs = array();
if( empty($prenom)) $erreurs = "il manque votre prénom";
if( empty($nom)) $erreurs = "il manque votre nom";
if( empty($email)) $erreurs = "il manque votre email";
if( empty($tel)) $erreurs = "il manque votre téléphone";
if( empty($message)) $erreurs = "il manque votre message";
//------------------------------------------------------------------
if(empty($erreurs)) {
$from = $email;
$reply = $from;
$to = "archeus.monmail@free.fr"; //Mettez l'email de destination ici
//Mise en forme du contenu au format HTML-----------------------
$contenu = "message de : ".$prenom." ".$nom;
$contenu .= "<br /> Tel: ".$tel;
$contenu .= "<br /> Message: <br />";
$contenu .= $message;
//--------------------------------------------------------------
//Entêtes de formatage de l'email en mode HTML------------------
$headers = 'MIME-Version: 1.0' . "\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";
$headers .= 'From: '.$from."\n";
$reply = $headers."Reply-to: ".$reply."\n";
//---------------------------------------------------------------
//Déclenchement de l'email et reroutage vers une autre page-----
$resultat = mail($to, $subject, $contenu, $reply);
if($resultat) {
echo "email envoyé";
} else {
echo "Echec dans l'envoi de l'email";
}
} else {
$texte_erreur = implode("<br />",$erreurs);
print $texte-erreur;
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="
http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Envoi d'email</title>
</head>
<body>
<form action="<?php print $_SERVER["PHP_SELF"]; ?>" method="post" enctype="multipart/form-data" name="form1" id="form1">
<table width="100%" border="0" cellspacing="1" cellpadding="2">
<tr>
<td width="19%">Prénom : </td>
<td width="81%"><input name="prenom" type="text" id="prenom" value="<?php print $prenom; ?>" size="50" maxlength="100" /></td>
</tr>
<tr>
<td>Nom : </td>
<td><input name="nom" type="text" id="nom" value="<?php print $nom; ?>" size="50" maxlength="100" /></td>
</tr>
<tr>
<td>Téléphone : </td>
<td><input name="tel" type="text" id="tel" value="<?php print $tel; ?>" size="50" maxlength="50" /></td>
</tr>
<tr>
<td>Votre email : </td>
<td><input name="email" type="text" id="email" value="<?php print $email; ?>" size="50" maxlength="100" /></td>
</tr>
<tr>
<td valign="top">Sujet du message : </td>
<td><input name="subject" type="text" id="subject" value="<?php print $subject; ?>" size="50" maxlength="100" /></td>
</tr>
<tr>
<td valign="top">Texte du message : </td>
<td><textarea name="message" cols="38" rows="10" id="message"><?php print $message; ?></textarea></td>
</tr>
<tr>
<td colspan="2"> <input type="submit" style="margin-left:200px;" name="Submit" value="Envoyer le message" /> </td>
</tr>
</table>
</form>
</body>
</html>
code pris sur
http://www.intras.fr/tutoriels/formation-php-formulaire-email.php
et j'ai
Warning: mail() [function.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 C:\Program Files\wamp\www\export\formulaire-prise-contact.php on line 41
Echec dans l'envoi de l'email