verzend problemen
ik heb een contact formulier die het ineens niet meer doet...
hij zegt wel dat het mailtje is verzonden.. maar het mailtje komt niet aan...
Code (php)
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
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
<?php
$naar = '[email protected]'; // Verander hier [email protected] naar uw eigen email adress.
if(isset($_POST['verzend'])) // Als het bericht verzonden is
{
if($_POST['naam'] == '') // Als het veld naam leeg is
{
echo "U heeft geen naam ingevuld!<br />";
echo "<a href='javascript:history.back();' style='color: orange; text-decoration:none;'>Klik hier om terug te gaan!</a>";
}
elseif($_POST['email'] == '') // Als het veld email leeg is.
{
echo "U heeft geen e-mail adress ingevuld!<br />";
echo "<a href='javascript:history.back();' style='color: orange; text-decoration:none;'>Klik hier om terug te gaan!</a>";
}
elseif($_POST['bericht'] == '') // Als er geen bericht is ingevuld.
{
echo "U heeft geen bericht ingevuld!<br />";
echo "<a href='javascript:history.back();' style='color: orange; text-decoration:none;'>Klik hier om terug te gaan!</a>";
}
elseif($_POST['onderwerp'] == '') // Als er geen onderwerp is ingevuld
{
echo "U heeft geen onderwerp ingevuld!<br />";
echo "<a href='javascript:history.back();' style='color: orange; text-decoration:none;'>Klik hier om terug te gaan!</a>";
}
else
{
if(!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,4})$", $_POST["email"])) // Als het email adress niet klopt
{
echo "U heeft geen geldig e-mail adress ingevuld!<br />";
echo "<a href='javascript:history.back();' style='color: orange; text-decoration:none;'>Klik hier om terug te gaan!</a>";
}
else
{
// Mailen:
$bericht = "
<html>
<head>
<title>Contact fomulier</title>
</head>
<body>
<table border='2' width='50%'>
<tr>
<td width='20%'>Naam:</td>
<td>".$_POST['naam']."</td>
</tr>
<tr>
<td width='20%'>E-mail adress:</td>
<td>".$_POST['email']."</td>
</tr>
<tr>
<td width='20%'>Onderwerp:</td>
<td>".$_POST['onderwerp']."</td>
</tr>
<tr>
<td width='20%'>Bericht:</td>
<td>".$_POST['bericht']."</td>
</tr>
</table>
</body>
</html>
";
$headers = "MIME-Version: 1.0\r\n";
$headers.= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers.= "From: ".$_POST['naam']." <".$_POST['email'].">\r\n";
// Headers, zodat we html kunnen gebruiken in de mail, en van wie de mail komt.
if(mail($naar, $_POST['onderwerp'],$bericht,$headers)) // Als de mail naar de maker is verstuurd
{
echo 'Uw bericht is succesvol verstuurd';
}
else // Anders
{
echo 'Uw bericht is helaas niet verstuurd';
}
$ond = "Uw bericht, verzonden naar [email protected]";
if(mail($naar,$ond,$bericht,$headers)) // Als de mail naar de verzender is verstuurd
{
echo '!';
}
else // Anders
{
echo '.';
}
}
}
}
else
{
?>
<!-- Formulier weergeven -->
<table border='0' width='50%'>
<form method='post'>
<tr>
<td width='30%'></td>
</tr>
<tr>
<td width='20%'>Naam:</td>
<td><input type='text' name='naam'></td>
</tr>
<tr>
<td width='20%'>E-mail adress:</td>
<td><input type='text' name='email'></td>
</tr>
<tr>
<td width='20%'>Onderwerp:</td>
<td><input type='text' name='onderwerp'></td>
</tr>
<tr>
<td width='20%'>Bericht:</td>
<td><textarea name='bericht'></textarea></td>
</tr>
<tr>
<td colspan='2' align='center'><input type='submit' value='Verzend' name='verzend'></td>
</tr>
</form>
</table>
<?php
}
?>
$naar = '[email protected]'; // Verander hier [email protected] naar uw eigen email adress.
if(isset($_POST['verzend'])) // Als het bericht verzonden is
{
if($_POST['naam'] == '') // Als het veld naam leeg is
{
echo "U heeft geen naam ingevuld!<br />";
echo "<a href='javascript:history.back();' style='color: orange; text-decoration:none;'>Klik hier om terug te gaan!</a>";
}
elseif($_POST['email'] == '') // Als het veld email leeg is.
{
echo "U heeft geen e-mail adress ingevuld!<br />";
echo "<a href='javascript:history.back();' style='color: orange; text-decoration:none;'>Klik hier om terug te gaan!</a>";
}
elseif($_POST['bericht'] == '') // Als er geen bericht is ingevuld.
{
echo "U heeft geen bericht ingevuld!<br />";
echo "<a href='javascript:history.back();' style='color: orange; text-decoration:none;'>Klik hier om terug te gaan!</a>";
}
elseif($_POST['onderwerp'] == '') // Als er geen onderwerp is ingevuld
{
echo "U heeft geen onderwerp ingevuld!<br />";
echo "<a href='javascript:history.back();' style='color: orange; text-decoration:none;'>Klik hier om terug te gaan!</a>";
}
else
{
if(!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,4})$", $_POST["email"])) // Als het email adress niet klopt
{
echo "U heeft geen geldig e-mail adress ingevuld!<br />";
echo "<a href='javascript:history.back();' style='color: orange; text-decoration:none;'>Klik hier om terug te gaan!</a>";
}
else
{
// Mailen:
$bericht = "
<html>
<head>
<title>Contact fomulier</title>
</head>
<body>
<table border='2' width='50%'>
<tr>
<td width='20%'>Naam:</td>
<td>".$_POST['naam']."</td>
</tr>
<tr>
<td width='20%'>E-mail adress:</td>
<td>".$_POST['email']."</td>
</tr>
<tr>
<td width='20%'>Onderwerp:</td>
<td>".$_POST['onderwerp']."</td>
</tr>
<tr>
<td width='20%'>Bericht:</td>
<td>".$_POST['bericht']."</td>
</tr>
</table>
</body>
</html>
";
$headers = "MIME-Version: 1.0\r\n";
$headers.= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers.= "From: ".$_POST['naam']." <".$_POST['email'].">\r\n";
// Headers, zodat we html kunnen gebruiken in de mail, en van wie de mail komt.
if(mail($naar, $_POST['onderwerp'],$bericht,$headers)) // Als de mail naar de maker is verstuurd
{
echo 'Uw bericht is succesvol verstuurd';
}
else // Anders
{
echo 'Uw bericht is helaas niet verstuurd';
}
$ond = "Uw bericht, verzonden naar [email protected]";
if(mail($naar,$ond,$bericht,$headers)) // Als de mail naar de verzender is verstuurd
{
echo '!';
}
else // Anders
{
echo '.';
}
}
}
}
else
{
?>
<!-- Formulier weergeven -->
<table border='0' width='50%'>
<form method='post'>
<tr>
<td width='30%'></td>
</tr>
<tr>
<td width='20%'>Naam:</td>
<td><input type='text' name='naam'></td>
</tr>
<tr>
<td width='20%'>E-mail adress:</td>
<td><input type='text' name='email'></td>
</tr>
<tr>
<td width='20%'>Onderwerp:</td>
<td><input type='text' name='onderwerp'></td>
</tr>
<tr>
<td width='20%'>Bericht:</td>
<td><textarea name='bericht'></textarea></td>
</tr>
<tr>
<td colspan='2' align='center'><input type='submit' value='Verzend' name='verzend'></td>
</tr>
</form>
</table>
<?php
}
?>
(sorry voor deze spam :P )
dat heb ik er uit gehaald ;)
karoen schreef op 02.09.2007 18:01:
hij zegt wel dat het mailtje is verzonden.. maar het mailtje komt niet aan...
Dan zal ie waarschijnlijk door een spamfilter worden geblocked.
de spam filter van mn provider staat uit... en in mijn eigen spam filter zit hij niet :S