Posez votre question Signaler

Envoyer un E-mail Php [Résolu]

Archeus01 1553Messages postés 3 octobre 2007Date d'inscription 5 février 2012Dernière intervention - Dernière réponse le 17 févr. 2010 à 00:52
Bonjour,
Je cherche un tutrorial, ou tout ce qui pourrait m'aider à envoyer un Email en utilisant le PHP avec WAMP5. J'en ai essayé plusieurs mais il ne fonctionnent pas.
Lire la suite 

Envoyer un E-mail Php »

9 réponses
Réponse
+4
moins plus
re-bonjour
Failed to connect to mailserver at "localhost"

Comme tu n'as sûrement pas de serveur de mail sur ta machine, il ne faut pas mettre "localhost" comme serveur de mail. Je sais, ce n'est pas toi qui l'a mis, il est là parce que Php est livré comme ça.
Va dans php.ini et dans la rubrique [mail function] modifie la ligne SMTP= pour mettre ton 'vrai' serveur de mail :
SMTP = smtp.wanadoo.fr si TON FOURNISSEUR D'ACCES est wanadoo
SMTP = smtp.free.fr si c'est free
je ne sais pas pour les autres, mais ça apparaît sûrement quelque part sur le site de ton F.A.I.
Ajouter un commentaire
Réponse
+1
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour

Peux-tu montrer ton script et donner quelques informations : message d'erreur, comportement innattendu...
Ajouter un commentaire
Réponse
+0
moins plus
Ok, je me suis renseigné (je suis en stage en entreprise alors c'est pas simplement un truc du genre smtp.free.fr que je peux trouver facilement ^^').
j'éditerai mon message dans 2-3 minutes pou dire si ça marche

[Edit]
voila la réponse :( :
Warning: mail() [function.mail]: SMTP server response: 550 5.7.1 Unable to relay for archeus.frederic@free.fr in C:\Program Files\wamp\www\export\formulaire-prise-contact.php on line 41
Ajouter un commentaire
Réponse
+0
moins plus
Si tu as un client email dans ta machine (outlook express) avec un compte qui marche, regarde ce qu'il y a comme serveur SMTP (Outils / comptes / propriétés / serveurs)
Ajouter un commentaire
Réponse
+0
moins plus
C'est bon, on m'a donné l'information et je l'ai remplacé dans php.ini (mais on n'a pas voulu me dire comment la trouver et outlook express n'était pas configuré, j'y accède par webmail.). A la limite, maintenant que je l'ai , je m'en fous ^^ de savoir comment l'obtenir.
Tout marche, même le code avec Zend ^^.
Merci beaucoup
Ajouter un commentaire
Réponse
+0
moins plus
Moi aussi jai un probleme de ce type quand j'essaye de retrouve mon mot de passe sur un site avec mon adressse mail il me dise ca
Unable to send e-mail. Please contact the forum administrator with the following error message reported by the SMTP server: "535 5.7.1 http://mail.google.com/support/bin/answer.py?answer=14257 e11sm7501789fga.1 ".
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,
j'aimerais envoyer un mail depuis un script php,mais ceci fonctionne bien lorsque je fais l'hebergement sur un site de type www.site.com
Par contre il ne fonctionne jamais orsque je fais l'hebergement sur un site de type www.site.com.tn
merci de me repondre
Ajouter un commentaire
Réponse
+0
moins plus
salut
pour ta question a propos des site ***.tn
.tn = tunisie
le port 25 de l smtp est bloqué en Tunisie je sais pas pourquoi je suis tunisien aussi et c'est l'ati qui le bloque
Ajouter un commentaire
Ce document intitulé « Envoyer un E-mail Php » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?