Pt'it probléme d'envoi de mail

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Pt'it probléme d'envoi de mail

par caroube » 28 oct. 2008, 09:51

Cela n'a rien à voir avec ton problème, mais prends l'habitude de ne pas faire du méli-mélo HTML et PHP : un coup mettre du HTML dans du PHP, puis du PHP dans du HTML, ... Là, ton code est relativement simple, mais dès que ça va se compliquer tu devras te demander : "à quel if ou quel while correspond le "<?php } ?>" ?

Un truc style
else { ?> MISE EN PAGE HTML <?php } 
pourra avantageusement être remplacé au niveau de la lisibilité par
else { echo 'MISE EN PAGE HTML'; } 

par kweb » 27 oct. 2008, 13:17

Ok, effectivement ca fonctionne bien... fonc je vais reprendre de 0

@+

par @rthur » 27 oct. 2008, 12:12

Bonjour,

Crée une nouvelle page et met dedans juste cela:
<?php
mail("[email protected]", "Test", "Message de test");
?>
Si tu ne reçois pas cet e-mail:
1) vérifies dans tes spams
2) testes sur une ou deux autres adresses e-mail (de fournisseurs de mail différents de préférence)
3) contacte ton hébergeur

Si tu reçois bien le mail de test, c'est que ton script est défaillant, par conséquent, repars de la version qui marche et teste progressivement les ajouts de ton code pour trouver d'où vient le problème.

Pt'it probléme d'envoi de mail

par kweb » 27 oct. 2008, 12:02

Slt tout le monde !

Je suis entrain de mettre un place un formulaire de contact ou les donnée seront envoyé par mail.
Mais je rencontre un pt'it problème, le mail n'arrive jamais.

J'ai surement une erreur dans mon code, mais je ne la vois pas !! :roll:
Pourriez-vous y jeter un coup d'œil et me dire si vous trouvé une erreur.

A savoir que sur ce formulaire, j'ai 9 champs donc 5 obligatoires (civilite, nom, prenom, objet et texte)
<?php
/* Initialisation des variables */
$from = "[email protected]"; // l'expéditeur : remplacer ici domaine.com par votre domaine
$to = "[email protected]"; // le destinataire : mettez ici votre adresse mail

/* Récupération des champs */
if (!empty($_POST['civilite'])) {$civilite = $_POST['civilite'] ;}
if ($civilite && !empty($_POST['nom'])) {$nom = $_POST['nom'] ;}
$service = $_POST['service'];
$telphone = $_POST['phone'];
$fax = $_POST['fax'];
if ($civilite && $nom && !empty($_POST['email'])) {$email = $_POST['email'];}
if ($civilite && $nom && email && !empty($_POST['objet'])) {$objet = $_POST['objet'] ;}
if ($civilite && $nom && email && $objet && !empty($_POST['texte'])) {$texte = $_POST['texte'] ;}

if ($civilite && $nom && $email && $objet && $texte)
{
 
  /* En-têtes obligatoires du message */
  $headers = "From: Webmaster <$from>\n";
  $headers .= "To: Contact <$to>\n";
  $headers .= "MIME-Version: 1.0\n";
  $headers .= "Content-type: text/html; charset=utf-8\n"; 
 
 /* Préparation */
	$subject = "Demande de renseignement"; // le sujet du mail
	$email = NULL;
	$message = $_POST['civilite'].' <strong>Nom:</strong> '.$_POST['nom'].'<br />\n';
	$message .= '<strong>Email:</strong> <a href="mailto:'.$_POST['email'].'">'.$_POST['email'].'\n';
	
	$message .= '<strong>Société:</strong> '.$_POST['societe'].'<br />\n';
	$message .= '<strong>Service:</strong> '.$_POST['service'].'<br />\n';
	$message .= '<strong>Téléphone:</strong> '.$_POST['phone'].'<br />\n';
	$message .= '<strong>Fax:</strong> '.$_POST['fax'].'<br /><br />\n';
	
	
	$message .= '<strong>Objet:</strong> '.$_POST['objet'].'<br />\n';
	$message .= '<strong>Message:</strong> '.htmlentities($_POST['texte']).'<br /><br />\n';
	
	$message .= "<small>Ce message à été envoyé par le biais du site</small> \n";
 
   //Appel a la fonction mail 
  if (!mail($to, $subject, $message, $headers))
  	{
     echo "Erreur: Impossible d'envoyer le mail <br /> retour";
  	} 
	else { ?> MISE EN PAGE HTML <?php }
} 
else { ?> MISE EN PAGE HTML <?php }  ?>
Merci a vous