Envoyer un E-mail Php [Résolu/Fermé]

Signaler
Messages postés
1566
Date d'inscription
mercredi 3 octobre 2007
Statut
Membre
Dernière intervention
23 mars 2020
-
 Aurel -
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.

10 réponses

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.
4
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
1566
Date d'inscription
mercredi 3 octobre 2007
Statut
Membre
Dernière intervention
23 mars 2020
343
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
Bonjour

Peux-tu montrer ton script et donner quelques informations : message d'erreur, comportement innattendu...
Messages postés
1566
Date d'inscription
mercredi 3 octobre 2007
Statut
Membre
Dernière intervention
23 mars 2020
343
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
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)
Messages postés
1566
Date d'inscription
mercredi 3 octobre 2007
Statut
Membre
Dernière intervention
23 mars 2020
343
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
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 https://support.google.com/mail/answer/7126229?visit_id=637165604200020068-3694661496&rd=1#cantsignin e11sm7501789fga.1 ".
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
Messages postés
30
Date d'inscription
vendredi 29 mai 2009
Statut
Membre
Dernière intervention
10 mai 2011
4
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
Je viens de tomber sur ce topic un peu ancien. Mais au cas où ça peut aider, il y a un tuto complet pour envoyer un mail en PHP sans qu'il finisse dans les indésirables ici :

http://www.webtuto.fr/tuto-envoyer-un-mail-en-php-formulaire/