Le formulaire de contact en php dont vous trouverez le code ci-dessous fonctionne chez un hébergeur gratuit, je transfère mes pages ches un hébergeur payant et là tout fonctionne apparemment bien sur le site : remplir le formulaire, envoyer, page "Merci" mais je ne reçois rien dans ma boite mail.
Quelqu'un a t-il une explication : voir code ci-dessous

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
 
<?php
 
$email_dest = "monemail@mail.fr";
 
if ($_POST['envoi']) {
 
$message_remerciement = "Merci";
 
// E-mail headers:
$headers ="MIME-Version: 1.0 \n";
$headers .="From: expéditeur<e-mail>\n";
 
 
$headers .="Content-Type: text/html; charset=iso-8859-1 \n";
 
$subject = "contact";
 
$partie_entete = "<html><head>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
</head>
<body bgcolor=#FFFFFF>";
 
for ($a=1; $a<= $_POST['nbre_champs_texte']; $a++) {
$partie_champs_texte .= "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_champ'.$a] . " = " . $_POST['champ'.$a] . "</font><br>";
}
 
if ($_POST['nbre_zone_email'] != 0) {
$partie_zone_email = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_email'] . " = " . $_POST['zone_email'] . "</font><br>";
}
 
if ($_POST['nbre_zones_texte'] != 0) {
$partie_zone_texte = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_zone'] . " = " . $_POST['zone_texte'] . "</font><br>";
$partie_zone_texte = stripslashes($partie_zone_texte);
}
 
$fin = "</body></html>";
 
$sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_zone_texte . $fin;
 
// Send the e-mail
if (@!mail($email_dest,$subject,$sortie,$headers)) {
echo("Envoi du formulaire impossible");
} // Closing if !mail...
 
} // Closing if edit
?><html>
<head>
<title>Assistant d'envoi de formulaires</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript"><!-- Hide script from older browsers
function verifSelection() {if (mail_form.champ1.value == "") {
alert("Nom")
return false
} if (mail_form.champ2.value == "") {
alert("")
return false
} if (mail_form.zone_email.value == "") {
alert("e-mail")
return false
}
 
invalidChars = " /:,;'"
 
for (i=0; i<invalidChars.length; i++) {    // does it contain any invalid characters?
badChar = invalidChars.charAt(i)
 
if (mail_form.zone_email.value.indexOf(badChar,0) > -1) {
alert("Votre adresse e-mail contient des caractères invalides. Veuillez vérifier.")
mail_form.zone_email.focus()
return false
}
}
 
atPos = mail_form.zone_email.value.indexOf("@",1)            // there must be one "@" symbol
if (atPos == -1) {
alert('Votre adresse e-mail ne contient pas le signe "@". Veuillez vérifier.')
mail_form.zone_email.focus()
return false
}
 
if (mail_form.zone_email.value.indexOf("@",atPos+1) != -1) {    // and only one "@" symbol
alert('Il ne doit y avoir qu\'un signe "@". Veuillez vérifier.')
mail_form.zone_email.focus()
return false
}
 
periodPos = mail_form.zone_email.value.indexOf(".",atPos)
 
if (periodPos == -1) {                    // and at least one "." after the "@"
alert('Vous avez oublié le point "." après le signe "@". Veuillez vérifier.')
mail_form.zone_email.focus()
return false
}
 
if (periodPos+3 > mail_form.zone_email.value.length)    {        // must be at least 2 characters after the 
alert('Il doit y avoir au moins deux caractères après le signe ".". Veuillez vérifier.')
mail_form.zone_email.focus()
return false
}} // Fin de la fonction
 
</script>
</head>
 
<body bgcolor="#333333">
<form name="mail_form" method="post" action="<?=$PHP_SELF?>" onSubmit="return verifSelection()">
<div align="center"></div>
<p align="center">
<?php
if ($message_remerciement) {
echo("<font face=Verdana size=2>");
echo(stripslashes($message_remerciement));
echo("</p></body></html>");
exit();
}
?>
<table width="566" border="0" align="center">
<p align="center">
</p><tr>
<td><font color="#FFFFFF" size="1" face="Verdana">Nom</font></td>
<td><input name="champ1" type="text"></td>
</tr><tr>
<td><font color="#FFFFFF" size="1" face="Verdana">Téléphone</font></td>
<td><input name="champ2" type="text"></td>
</tr><tr>
<td width><font color="#FFFFFF" size="1" face="Verdana">E-mail</font></td>
<td width><input name="zone_email" type="text"></td>
</tr><tr>
<td valign="top"><font color="#FFFFFF" size="1" face="Verdana">Message</font></td>
<td><textarea name="zone_texte" cols="50" rows="10"></textarea></td>
</tr><tr>
<td valign="top"><input name="nbre_champs_texte" type="hidden" id="nbre_champs_texte" value="2">
<input name="nbre_zones_texte" type="hidden" value="1">
<input name="nbre_zone_email" type="hidden" value="1">
<input name="titre_champ1" type="hidden" value="Nom"><input name="titre_champ2" type="hidden" value="Téléphone"><input name="titre_email" type="hidden" value="E-mail"><input name="titre_zone" type="hidden" value="Message"></td>
<td><div align="center">
<input type="reset" name="Reset" value="Effacer">
<input type="submit" name="envoi" value="Envoyer">
</div></td>
</tr>
</table>
<div align="center"></div>
</form>
</body>
</html>