Se connecter avec
S'enregistrer | Connectez-vous

Besoin d'aide : Formulaire PHP et envoi par email !!

Dernière réponse : dans Programmation

Bonjour à tous,

Je viens de suivre un tuto pour créer un formulaire php avec envoi par mail et lors de l'envoi du mail, j'ai l'erreur mentionnée dans le tuto "Warning: mail() [function.mail]: SMTP server response: 501 Your domain does not seem to be valid. Could not find MX record for your domain. in ******. Une erreur est survenue lors de l'envoi du formulaire par email". Mon hébergeur est Amen.

J'ai eu beau chercher une aide sur internet, et chez amen...
Quelqu'un peut m'aider please ?

Merci beaucoup
Lassé par la pub ? Créez un compte

C'est un code que j'ai repris sur le forum de chez Amen qui doit marcher...
Citation :
<?php
// Information qui apparaittra si les champs obligatoires ne sont pas remplis
$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";

// Information qui apparaittra si les 2 messages ont bien été envoyé
$msg_ok = "Votre demande a bien été prise en compte. Elle sera traitée dans les meilleurs délais.\nUn mail de confirmation vous a été envoyé.";
$message = $msg_erreur;
define('MAIL_DESTINATAIRE','sevsev56@hotmail.com'); // remplacer par votre email
define('MAIL_SUJET','Demande de renseignement'); // remplacer l'objet du mail qui sera envoyé

// vérification des champs obligatoires (doublon avec le script si des champs obligatoires incorporés dans le formulaire)
if (empty($_POST['requiredCommentaires']))
$message .= "Votre nom<br/>";

if (strlen($message) > strlen($msg_erreur)) {
echo $message;
// sinon c'est ok
} else {
foreach($_POST as $index => $valeur) {
$$index = stripslashes(trim($valeur));
}

//Préparation de l'entête du mail:
$mail_entete = "MIME-Version: 1.0\r\n";
$mail_entete .= "From: {$_POST['requiredNom']} "
."<{$_POST['requiredEmail']}>\r\n";
$mail_entete .= 'Reply-To: '.$_POST['mail']."\r\n";
$mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
$mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
$mail_entete .= 'X-Mailer:p HP/' . phpversion()."\r\n";


// Préparation du corps du mail

// Remplacer le nom des variables suivantes par les noms de vos variables (name ou id) du formulaire
// Utiliser \n pour aller à la ligne
$mail_corps = "Demande de : $requiredNom $Prenom \n";
$mail_corps .= "Téléphone : $Telephone \n";
$mail_corps .= "E mail : $requiredEmail\n";
$mail_corps .= "Commentaires : $requiredCommentaires\n";


// envoi du mail
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {
//Le mail est bien expédié
echo $msg_ok;
} else {
//Le mail n'a pas été expédié
echo 'Une erreur est survenue lors de l\'envoi du formulaire par email';
}

}
// Message de confirmation de reception de demande
// ---------------------------

/* Objet */ // Mettre votre nom de domaine
$subject = "Confirmation de votre demande sur www.lepartenairemedical.fr";

/* additional header pieces for errors, From cc's, bcc's, etc */
// Adresse mail (variable du formulaire contact)
$headers = "From: $requiredEmail <$requiredEmail>\n";





// Remplacer le mail suivant par votre mail
$headers .= "X-Sender: <sevsev56@hotmail.com>\n";
$headers .= "X-Mailer: PHP\n"; // mailer
$headers .= "X-Priority: 1\n"; // Urgent message!

// Remplacer le mail suivant par votre mail
$headers .= "Return-Path: Sales <sevsev56@hotmail.com>\n"; // Return errors

/* recipients */
$recipient = $requiredEmail;

/* message */
$message = "Bonjour

Merci pour votre message.
Nous traiterons votre demande dans les plus bref delais.
Cordialement.

Rappel de vos informations personnelles:
------------------------------
Votre nom: $requiredNom
Votre prénom : $Prenom
Votre téléphone: $prenom
Votre e-mail : $Telephone
votre Email: $requiredEmail;



-------------------------------
";


mail($recipient, $subject, $message, $headers);
//echo "mail($recipient, $subject, $message, $headers)";


?>


C'est très gentil de m'aider :) 

Citation :
<form action="envoi.php" method="post" enctype="multipart/form-data" name="formulaire" onSubmit="return checkrequired(this)">

<input type="hidden" value="Message Equisun" name="Subject">
<table border="0px">

<tbody>


<td style="padding:0px 0 0px 0; color:#232323; font-family:Arial , Verdana; font-size:12px; text-align:left ;width:130px" >
Votre Nom * :</td>
<tr><td style="text-align:left">
<input size="20" name="requiredNom" ></td></tr>


<td style="padding:0px 0 0px 0; color:#232323; font-family:Arial , Verdana; font-size:12px; text-align:left" >
Votre Prénom :</td>
<tr> <td style="text-align:left">
<input size="20" name="Prenom"></td>
</tr>


<td style="padding:0px 0 0px 0; color:#232323; font-family:Arial , Verdana; font-size:12px; text-align:left" >
Téléphone :</td>
<tr><td style="text-align:left">

<input size="20" name="Telephone"></td>
</TR>


<td style="padding:0px 0 0px 0; color:#232323; font-family:Arial , Verdana; font-size:12px; text-align:left" >
Votre Email * :</td>
<tr> <td style="text-align:left">
<input size="20" name="requiredEmail"></td>
</TR>



<td style="padding:0px 0 0px 0; color:#232323; font-family:Arial , Verdana; font-size:12px; text-align:left; vertical-align:top" >
Votre message * :</td>
<tr><td>
<textarea name="requiredCommentaires" rows="6" cols="30"></textarea>
</td>
</tr>
</tbody>
</table>
<br>
<input type="submit" name="submit" value="Envoyer">

<input type="reset" value="Effacer">
<br /><br />

<div id="note">
<p>Attention, les champs marqués par <b>*</b> sont à remplir obligatoirement</p>
<!--webbot
bot="HTMLMarkup" endspan -->
</font></td> </td> </tr> </table></form>

encore merci

Citation :
<?php
if (isset($_POST['requiredNom'])) {
if ( (!empty($_POST['requiredNom'])) && (!empty($_POST['requiredEmail'])) && (!empty($_POST['requiredCommentaires'])) )
{
extract($_POST);

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$destinataire="sevsev56@hotmail.com";
$subject = "Demande de renseignement";
$body = "Nom : $requiredNom\r\n";
$body .= "Prénom: $Prenom\r\n";
$body .= "Téléphone: $email\r\n";
$body .= "E-mail: $email\r\n";
$body .= "Message: $message\r\n\r\n";
if (mail($destinataire,$subject,$body,$headers))
{
$msg = "Votre demande a bien été prise en compte. Elle sera traitée dans les meilleurs délais.<br />Un mail de confirmation vous a été envoyé.";

}
else
{
$msg = "Une erreur s'est produite au niveau du serveur.";
}
}
else
{
$msg = "Les Champs marqués (*) sont obligatoires.";
}
}

?>
<form action="" method="post" enctype="multipart/form-data" name="formulaire" onSubmit="return checkrequired(this)">

<input type="hidden" value="Message Equisun" name="Subject">
<table border="0px">

<tbody>


<td style="padding:0px 0 0px 0; color:#232323; font-family:Arial , Verdana; font-size:12px; text-align:left ;width:130px" >
Votre Nom * :</td>
<tr><td style="text-align:left">
<input size="20" name="requiredNom" value="<? echo $_POST['requiredNom']; ?>"></td></tr>


<td style="padding:0px 0 0px 0; color:#232323; font-family:Arial , Verdana; font-size:12px; text-align:left" >
Votre Prénom :</td>
<tr> <td style="text-align:left">
<input size="20" name="Prenom" value="<? echo $_POST['Prenom']; ?>"></td>
</tr>


<td style="padding:0px 0 0px 0; color:#232323; font-family:Arial , Verdana; font-size:12px; text-align:left" >
Téléphone :</td>
<tr><td style="text-align:left">

<input size="20" name="Telephone" value="<? echo $_POST['Telephone']; ?>"></td>
</TR>


<td style="padding:0px 0 0px 0; color:#232323; font-family:Arial , Verdana; font-size:12px; text-align:left" >
Votre Email * :</td>
<tr> <td style="text-align:left">
<input size="20" name="requiredEmail" value="<? echo $_POST['requiredEmail']; ?>"></td>
</TR>



<td style="padding:0px 0 0px 0; color:#232323; font-family:Arial , Verdana; font-size:12px; text-align:left; vertical-align:top" >
Votre message * :</td>
<tr><td>
<textarea name="requiredCommentaires" rows="6" cols="30" value="<? echo $_POST['requiredCommentaires']; ?>"></textarea>
</td>
</tr>
</tbody>
</table>
<br>
<input type="submit" name="submit" value="Envoyer">

<input type="reset" value="Effacer">
<br /><br />

<div id="note">
<!--webbot
bot="HTMLMarkup" endspan -->
</font></td> </td> </tr>
<tr>
<td>
<font color="#A00007">
<? if (isset($msg)) echo '<br /><br />',$msg; ?>
</font>
</td>
</tr></table></form>


Remplace ceci directement a ton formulaire, enlève le envoi.php tu en a plus besoin :) 

Le formulaire en ligne envoie ici : sevsev56@hotmail.com

J'ai pas fait l'envoi de mail de validation, tu as juste a reproduire mon exemple, mais si tu as des problèmes, je peux te faire ta page complètement, ça prendra pas beaucoup de temps !

Citation :
<?php
if (isset($_POST['requiredNom'])) {
if ( (!empty($_POST['requiredNom'])) && (!empty($_POST['requiredEmail'])) && (!empty($_POST['requiredCommentaires'])) )
{
extract($_POST);

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$destinataire="sevsev56@hotmail.com";
$subject = "Demande de renseignement";
$body = "Nom : $requiredNom\r\n";
$body .= "Prénom: $Prenom\r\n";
$body .= "Téléphone: $email\r\n";
$body .= "E-mail: $email\r\n";
$body .= "Message: $message\r\n\r\n";
if (mail($destinataire,$subject,$body,$headers))
{
$msg = "Votre demande a bien été prise en compte. Elle sera traitée dans les meilleurs délais.<br />Un mail de confirmation vous a été envoyé.";

}
else
{
$msg = "Une erreur s'est produite au niveau du serveur.";
}
}
else
{
$msg = "Les Champs marqués (*) sont obligatoires.";
}
}

?>
<form action="" method="post" enctype="multipart/form-data" name="formulaire" onSubmit="return checkrequired(this)">

<input type="hidden" value="Message Equisun" name="Subject">
<table border="0px">

<tbody>


<td style="padding:0px 0 0px 0; color:#232323; font-family:Arial , Verdana; font-size:12px; text-align:left ;width:130px" >
Votre Nom * :</td>
<tr><td style="text-align:left">
<input size="20" name="requiredNom" value="<? echo $_POST['requiredNom']; ?>"></td></tr>


<td style="padding:0px 0 0px 0; color:#232323; font-family:Arial , Verdana; font-size:12px; text-align:left" >
Votre Prénom :</td>
<tr> <td style="text-align:left">
<input size="20" name="Prenom" value="<? echo $_POST['Prenom']; ?>"></td>
</tr>


<td style="padding:0px 0 0px 0; color:#232323; font-family:Arial , Verdana; font-size:12px; text-align:left" >
Téléphone :</td>
<tr><td style="text-align:left">

<input size="20" name="Telephone" value="<? echo $_POST['Telephone']; ?>"></td>
</TR>


<td style="padding:0px 0 0px 0; color:#232323; font-family:Arial , Verdana; font-size:12px; text-align:left" >
Votre Email * :</td>
<tr> <td style="text-align:left">
<input size="20" name="requiredEmail" value="<? echo $_POST['requiredEmail']; ?>"></td>
</TR>



<td style="padding:0px 0 0px 0; color:#232323; font-family:Arial , Verdana; font-size:12px; text-align:left; vertical-align:top" >
Votre message * :</td>
<tr><td>
<textarea name="requiredCommentaires" rows="6" cols="30" value="<? echo $_POST['requiredCommentaires']; ?>"></textarea>
</td>
</tr>
</tbody>
</table>
<br>
<input type="submit" name="submit" value="Envoyer">

<input type="reset" value="Effacer">
<br /><br />

<div id="note">
<!--webbot
bot="HTMLMarkup" endspan -->
</font></td> </td> </tr>
<tr>
<td>
<font color="#A00007">
<? if (isset($msg)) echo '<br /><br />',$msg; ?>
</font>
</td>
</tr></table></form>


Ceci la ou il y a ton formulaire de contact.php tu as plus besoin de envoi.php mais le formulaire n'est pas complet ! il fait pas le mail de validation etc... si tu veux je peux te faire un autre script beaucoup plus complet... Mais tu l'auras pas dessuite dans la nuit :p 

Largement !

Ce que je te propose c'est que tu face un petit post bien complet sur ce que tu veux qu'il y ai comme option dans ton formulaire, ce qu'il fait a qui il envoi le mail, le mail de validation ce qu'il contient etc... et je te fais ça ou dans la nuit ou demain. Ça te convient ?

ok !
Comme champs, je souhaite : le nom, téléphone, e-mail et message, tous obligatoire sauf "téléphone".
Envoi sur mon mail avec les infos rentrées par l'expéditeur.
Comme validation : "Votre message nous a bien été envoyé. Nous le traiterons dans les plus brefs délais".
et SURTOUT que ca marche chez Amen, :) 

Tu as besoin d'autre chose ?

Voila ton formulaire de contact, pour le rendre actif, rien de plus simple tu copie TOUT et tu le colle a l'endroit de ton formulaire. Bien sur la page web devra avoir l'extension .php ! Le fichier envoi.php n'est plus nécessaire. J'ai ajouté quelques petites options qui permet que si la personne remplit un GRAND message envoi le formulaire mais n'avait pas remplit un champ, son message ne s'efface pas et une petite notice lui rappel que les champs avec (*) sont obligatoire !

Tu peux tester la dernière version ici : http://remathle.com/mail !

Tu me diras si ça marche sur ton Amen et si ça marche pas, je pourrais peut être regarder mais normalement ça devrait, il n'y a pas de raison !

Formulaire téléchargeable ici : http://remathle.com/mail/index.rar

ou ici :

Citation :
<?php
if (isset($_POST['requiredNom'])) {
if ( (!empty($_POST['requiredNom'])) && (!empty($_POST['requiredEmail'])) && (!empty($_POST['requiredCommentaires'])) )
{
extract($_POST);

$headers = "MIME-Version: 1.0\n";
$headers .= "From: LePartenaireMedical.Fr<sevsev56@hotmail.com>\n";
$headers .= "Reply-To: sevsev56@hotmail.com\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$destinataire="sevsev56@hotmail.com";
$subject = "Demande de renseignement";
$body = "Nom : $requiredNom\r\n";
$body .= "Prénom: $Prenom\r\n";
$body .= "Téléphone: $Telephone\r\n";
$body .= "E-mail: $requiredEmail\r\n";
$body .= "Message: $requiredCommentaires\r\n\r\n";
if (mail($destinataire,$subject,$body,$headers))
{
$msg = "Votre message nous a bien été envoyé. Nous le traiterons dans les plus brefs délais.";

}
else
{
$msg = "Une erreur s'est produite au niveau du serveur.";
}
}
else
{
$msg = "Les champs marqués (*) sont obligatoires.";
}
}

?>
<form action="" method="post" name="contact">
<table border="0px">
<tr>
<td style="padding:0px 0 0px 0; color:#232323; font-family:Arial , Verdana; font-size:12px; text-align:left ;width:130px" >
Votre Nom * :
</td>
</tr>
<tr>
<td style="text-align:left">
<input size="20" name="requiredNom" value="<? echo $_POST['requiredNom']; ?>">
</td>
</tr>
<tr>
<td style="padding:0px 0 0px 0; color:#232323; font-family:Arial , Verdana; font-size:12px; text-align:left" >
Votre Prénom :
</td>
</tr>
<tr>
<td style="text-align:left">
<input size="20" name="Prenom" value="<? echo $_POST['Prenom']; ?>">
</td>
</tr>
<tr>
<td style="padding:0px 0 0px 0; color:#232323; font-family:Arial , Verdana; font-size:12px; text-align:left" >
Téléphone :
</td>
</tr>
<tr>
<td style="text-align:left">
<input size="20" name="Telephone" value="<? echo $_POST['Telephone']; ?>">
</td>
</tr>
<tr>
<td style="padding:0px 0 0px 0; color:#232323; font-family:Arial , Verdana; font-size:12px; text-align:left" >
Votre Email * :
</td>
</tr>
<tr>
<td style="text-align:left">
<input size="20" name="requiredEmail" value="<? echo $_POST['requiredEmail']; ?>">
</td>
</tr>
<tr>
<td style="padding:0px 0 0px 0; color:#232323; font-family:Arial , Verdana; font-size:12px; text-align:left; vertical-align:top" >
Votre message * :
</td>
</tr>
<tr>
<td>
<textarea name="requiredCommentaires" rows="6" cols="30" value="<? echo $_POST['requiredCommentaires']; ?>"></textarea>
</td>
</tr>
</table>
<input type="submit" name="submit" value="Envoyer">
<input type="reset" value="Effacer">
</form>
<div align="left" style="padding-top:10px; padding-left: 10px;">
<font color="#A00007">
<? if (isset($msg)) echo '<br /><br />',$msg; ?>
</font>
</div>

ça y est j'ai intégré le code. Lors de l'envoi du formulaire, j'ai bien
Citation :
"Votre message nous a bien été envoyé. Nous le traiterons dans les plus brefs délais. "
mais je n'ai rien dans ma boite mail !!! ni dans mes courriers indésirables.

merci :) 

Met ça dans ta balise <body> de ton index.html MAIS tu renomme ton index.html en index.php ! L'effacer marche maintenant mais il n'y a plus de sauvegarde de variable sur le formulaire ! pour l'envoi ça devrait marché sachant que ca marche sur http://www.remathle.com/mail/ pour ce qui est des courriers indésirables il te suffit de rajouter on adresse dans ta liste de contact :)  et il le placera en boite de réception :) 

bonne chance pour la suite de tes développement !

Citation :
<?php
if (isset($_POST['requiredNom'])) {
if ( (!empty($_POST['requiredNom'])) && (!empty($_POST['requiredEmail'])) && (!empty($_POST['requiredCommentaires'])) )
{
extract($_POST);

$headers = "MIME-Version: 1.0\n";
$headers .= "From: LePartenaireMedical.Fr<sevsev56@hotmail.com>\n";
$headers .= "Reply-To: sevsev56@hotmail.com\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$destinataire="sevsev56@hotmail.com";
$subject = "Demande de renseignement";
$body = "Nom : $requiredNom\r\n";
$body .= "Prénom: $Prenom\r\n";
$body .= "Téléphone: $Telephone\r\n";
$body .= "E-mail: $requiredEmail\r\n";
$body .= "Message: $requiredCommentaires\r\n\r\n";
if (mail($destinataire,$subject,$body,$headers))
{
$msg = "Votre message nous a bien été envoyé. Nous le traiterons dans les plus brefs délais.";

}
else
{
$msg = "Une erreur s'est produite au niveau du serveur.";
}
}
else
{
$msg = "Les champs marqués (*) sont obligatoires.";
}
}
?>
</script>
<form action="" method="post" name="contact">
<table border="0px">
<tr>
<td style="padding:0px 0 0px 0; color:#232323; font-family:Arial , Verdana; font-size:12px; text-align:left ;width:130px" >
Votre Nom * :
</td>
</tr>
<tr>
<td style="text-align:left">
<input size="20" name="requiredNom">
</td>
</tr>
<tr>
<td style="padding:0px 0 0px 0; color:#232323; font-family:Arial , Verdana; font-size:12px; text-align:left" >
Votre Prénom :
</td>
</tr>
<tr>
<td style="text-align:left">
<input size="20" name="Prenom">
</td>
</tr>
<tr>
<td style="padding:0px 0 0px 0; color:#232323; font-family:Arial , Verdana; font-size:12px; text-align:left" >
Téléphone :
</td>
</tr>
<tr>
<td style="text-align:left">
<input size="20" name="Telephone">
</td>
</tr>
<tr>
<td style="padding:0px 0 0px 0; color:#232323; font-family:Arial , Verdana; font-size:12px; text-align:left" >
Votre Email * :
</td>
</tr>
<tr>
<td style="text-align:left">
<input size="20" name="requiredEmail">
</td>
</tr>
<tr>
<td style="padding:0px 0 0px 0; color:#232323; font-family:Arial , Verdana; font-size:12px; text-align:left; vertical-align:top" >
Votre message * :
</td>
</tr>
<tr>
<td>
<textarea name="requiredCommentaires" rows="6" cols="30"></textarea>
</td>
</tr>
</table>
<input type="submit" name="submit" value="Envoyer">
<input type="reset" value="Effacer">
</form>
<div align="left" style="padding-top:10px; padding-left: 10px;">
<font color="#A00007">
<? if (isset($msg)) echo '<br /><br />',$msg; ?>
</font>
</div>

Lassé par la pub ? Créez un compte
Tom's guide dans le monde