Probleem met een door php-formulier gegenereed e-mailbericht
Het formulier is te vinden op: http://www.hanslaurentius.nl/contact/reserveren.php
Ik plak hieronder de inhoud van een e-mailbericht en daaronder de php-code:
Content-type: text/html; charset=iso-8859-1
X-Spam-Checker-Version: SpamAssassin 3.0.6 (2005-12-07) on qball4.qball.nl
X-Spam-Level: *
X-Spam-Status: No, score=1.2 required=7.0 tests=AWL,HTML_MESSAGE,
MIME_HTML_ONLY,NO_RELAYS autolearn=no version=3.0.6
X-Antivirus: AVG for E-mail 7.5.432 [268.16.0/610]
<html>
<head>
<META http-equiv=Content-Type content='html; charset=iso-8859-1'>
<title>Reservering via website</title>
</head>
<body link='#000000' vlink='#000000' alink='#000000'>
<table width='400' border='0' cellspacing='2' cellpadding='2'>
<tr align='left' valign='top'>
<td bgcolor='#ffffff'><b>Verzenddatum</b></td>
<td bgcolor='#ffffff'>2007-01-03</td>
</tr>
<tr align='left' valign='top'>
<td bgcolor='#ffffff'><b>Geslacht</b></td>
<td bgcolor='#ffffff'>Mevrouw</td>
</tr>
<tr align='left' valign='top'>
<td bgcolor='#ffffff'><b>Naam</b></td>
<td bgcolor='#ffffff'>bla</td>
</tr>
<tr align='left' valign='top'>
<td bgcolor='#ffffff'><b>Adres</b></td>
<td bgcolor='#ffffff'>bla</td>
</tr>
<tr align='left' valign='top'>
<td bgcolor='#ffffff'><b>Postcode en woonplaats</b></td>
<td bgcolor='#ffffff'>bla</td>
</tr>
<tr align='left' valign='top'>
<td bgcolor='#ffffff'><b>Telefoonnummer</b></td>
<td bgcolor='#ffffff'>bla</td>
</tr>
<tr align='left' valign='top'>
<td bgcolor='#ffffff'><b>E-mail</b></td>
<td bgcolor='#ffffff'>bla</td>
</tr>
<tr align='left' valign='top'>
<td bgcolor='#ffffff'><b>Voorwaarden</b></td>
<td bgcolor='#ffffff'>Akkoord</td>
</tr><tr align='left' valign='top'>
<td bgcolor='#ffffff'><b>Soort bijeenkomst</b></td>
<td bgcolor='#ffffff'>bla</td>
</tr>
<tr align='left' valign='top'>
<td bgcolor='#ffffff'><b>Aantal deelnemers</b></td>
<td bgcolor='#ffffff'>2 personen</td>
</tr>
<tr align='left' valign='top'>
<td bgcolor=#ffffff><b>Vragen of opmerkingen</b></td>
<td bgcolor=#ffffff>geen</td>
</tr>
</table>
</body>
</html>
En nu de code:
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
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
<?php
// deze file wordt geinclude in reserveren.php dus niet er wordt niet naar deze file geredirect.
//Locatie van bevestigingspagina
header("Location: verstuurd.html");
//het E-Mail adres waar het heengestuurd moet worden
$emaillocatie = "bla";
//informatie die van de verzender word opgevraagd
$ipaddress=$_SERVER['REMOTE_ADDR'];
$browser=$_SERVER['HTTP_USER_AGENT'];
//de E-Mail client vertellen dat het om html gaat
$header="From: ".$_POST['naam']." <".$_POST['email']." >\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-type: text/html; charset=iso-8859-1\r\n";
//kleur van de eerste kolom
$Cc1="#ffffff";
$Cc2="#ffffff";
//de tabel
$inhoud="
<html>
<head>
<META http-equiv=Content-Type content='html; charset=iso-8859-1'>
<title>Reservering via website</title>
</head>
<body link='#000000' vlink='#000000' alink='#000000'>
<table width='400' border='0' cellspacing='2' cellpadding='2'>
<tr align='left' valign='top'>
<td bgcolor='$Cc1'><b>Verzenddatum</b></td>
<td bgcolor='$Cc2'>".date("Y-m-d")."</td>
</tr>
<tr align='left' valign='top'>
<td bgcolor='$Cc1'><b>Geslacht</b></td>
<td bgcolor='$Cc2'>".$_POST['geslacht']."</td>
</tr>
<tr align='left' valign='top'>
<td bgcolor='$Cc1'><b>Naam</b></td>
<td bgcolor='$Cc2'>".$_POST['naam']."</td>
</tr>
<tr align='left' valign='top'>
<td bgcolor='$Cc1'><b>Adres</b></td>
<td bgcolor='$Cc2'>".$_POST['adres']."</td>
</tr>
<tr align='left' valign='top'>
<td bgcolor='$Cc1'><b>Postcode en woonplaats</b></td>
<td bgcolor='$Cc2'>".$_POST['plaats']."</td>
</tr>
<tr align='left' valign='top'>
<td bgcolor='$Cc1'><b>Telefoonnummer</b></td>
<td bgcolor='$Cc2'>".$_POST['telefoon']."</td>
</tr>
<tr align='left' valign='top'>
<td bgcolor='$Cc1'><b>E-mail</b></td>
<td bgcolor='$Cc2'>".$_POST['email']."</td>
</tr>
<tr align='left' valign='top'>
<td bgcolor='$Cc1'><b>Voorwaarden</b></td>
<td bgcolor='$Cc2'>Akkoord</td>
</tr>";
foreach ($ar1 as $rij) {
$inhoud.=
"<tr align='left' valign='top'>
<td bgcolor='$Cc1'><b>Soort bijeenkomst</b></td>
<td bgcolor='$Cc2'>$rij[0]</td>
</tr>
<tr align='left' valign='top'>
<td bgcolor='$Cc1'><b>Aantal deelnemers</b></td>
<td bgcolor='$Cc2'>$rij[1]</td>
</tr>";
}
$inhoud.="
<tr align='left' valign='top'>
<td bgcolor=$Cc1><b>Vragen of opmerkingen</b></td>
<td bgcolor=$Cc2>".$_POST['opmerking']."</td>
</tr>
</table>
</body>
</html>
";
//hier word het mailtje verzonden
mail("$emaillocatie","Reservering via website","$inhoud","$header");
/* echo $header;
echo "<br><br>";
echo $inhoud;
*/
//beeindig sessie:
session_destroy();
?>
// deze file wordt geinclude in reserveren.php dus niet er wordt niet naar deze file geredirect.
//Locatie van bevestigingspagina
header("Location: verstuurd.html");
//het E-Mail adres waar het heengestuurd moet worden
$emaillocatie = "bla";
//informatie die van de verzender word opgevraagd
$ipaddress=$_SERVER['REMOTE_ADDR'];
$browser=$_SERVER['HTTP_USER_AGENT'];
//de E-Mail client vertellen dat het om html gaat
$header="From: ".$_POST['naam']." <".$_POST['email']." >\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-type: text/html; charset=iso-8859-1\r\n";
//kleur van de eerste kolom
$Cc1="#ffffff";
$Cc2="#ffffff";
//de tabel
$inhoud="
<html>
<head>
<META http-equiv=Content-Type content='html; charset=iso-8859-1'>
<title>Reservering via website</title>
</head>
<body link='#000000' vlink='#000000' alink='#000000'>
<table width='400' border='0' cellspacing='2' cellpadding='2'>
<tr align='left' valign='top'>
<td bgcolor='$Cc1'><b>Verzenddatum</b></td>
<td bgcolor='$Cc2'>".date("Y-m-d")."</td>
</tr>
<tr align='left' valign='top'>
<td bgcolor='$Cc1'><b>Geslacht</b></td>
<td bgcolor='$Cc2'>".$_POST['geslacht']."</td>
</tr>
<tr align='left' valign='top'>
<td bgcolor='$Cc1'><b>Naam</b></td>
<td bgcolor='$Cc2'>".$_POST['naam']."</td>
</tr>
<tr align='left' valign='top'>
<td bgcolor='$Cc1'><b>Adres</b></td>
<td bgcolor='$Cc2'>".$_POST['adres']."</td>
</tr>
<tr align='left' valign='top'>
<td bgcolor='$Cc1'><b>Postcode en woonplaats</b></td>
<td bgcolor='$Cc2'>".$_POST['plaats']."</td>
</tr>
<tr align='left' valign='top'>
<td bgcolor='$Cc1'><b>Telefoonnummer</b></td>
<td bgcolor='$Cc2'>".$_POST['telefoon']."</td>
</tr>
<tr align='left' valign='top'>
<td bgcolor='$Cc1'><b>E-mail</b></td>
<td bgcolor='$Cc2'>".$_POST['email']."</td>
</tr>
<tr align='left' valign='top'>
<td bgcolor='$Cc1'><b>Voorwaarden</b></td>
<td bgcolor='$Cc2'>Akkoord</td>
</tr>";
foreach ($ar1 as $rij) {
$inhoud.=
"<tr align='left' valign='top'>
<td bgcolor='$Cc1'><b>Soort bijeenkomst</b></td>
<td bgcolor='$Cc2'>$rij[0]</td>
</tr>
<tr align='left' valign='top'>
<td bgcolor='$Cc1'><b>Aantal deelnemers</b></td>
<td bgcolor='$Cc2'>$rij[1]</td>
</tr>";
}
$inhoud.="
<tr align='left' valign='top'>
<td bgcolor=$Cc1><b>Vragen of opmerkingen</b></td>
<td bgcolor=$Cc2>".$_POST['opmerking']."</td>
</tr>
</table>
</body>
</html>
";
//hier word het mailtje verzonden
mail("$emaillocatie","Reservering via website","$inhoud","$header");
/* echo $header;
echo "<br><br>";
echo $inhoud;
*/
//beeindig sessie:
session_destroy();
?>
Het probleem zit um in de \r\n.
Deze moet je vervangen voor enkel '\n',
Note: sommige mail-verwerkings-programma's zien \r\n (1 enter) als \n\n (2 enters),
en een lege regel in je header, wordt gezien als het eindpunt van je header!
Ps:
De regel "From: " . $_POST['naam'] . " <" . $_POST['email'] . ">" baart me veel zorgen
Controleer of de quotes en enters bij de userinput goed worden afgevangen, om spampogingen te voorkomen. Zie ook:
http://www.phphulp.nl/php/tutorials/10/340/
Gewijzigd op 01/01/1970 01:00:00 door Martijn Wieringa
K.