Email PHP Script werkt niet goed...
zoals wat je invult bij naam , email , bericht bla bla... dat krijg ik dus niet te zien in de mail zodra die verzonden word:/
dit is mijn script:
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
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
<?php
/* Subject and Email variables */
$emailSubject = 'Email bericht van Speciallyforyou.nl!';
$webMaster = 'vul email in';
/* Gathering Data Variables */
$naamField = $_POST['naam'];
$emailField = $_POST['email'];
$telefoonField = $_POST['telefoon'];
$berichtField = $_POST['bericht'];
$body = <<<EOD
<br><hr><br>
Naam: $naam <br>
Email: $email <br>
Telefoon: $telefoon <br>
Bericht: $bericht <br>
EOD;
$headers = "From: $email\r\n";
$headers .= "Content-type: text/html\r\n";
$success = mail($webMaster, $emailSubject, $body, $headers);
/* Results rendered as HTML */
$theResults = <<<EOD
<html>
<head>
<title>Speciallyforyou</title>
<style type="text/css">
body {
background-color:pink;
font-family: Verdana, Geneva, sans-serif;
font-size: 12px;
font-style: normal;
color: #333
</style>
</head>
<div>
<div align"left"> Uw bericht is met succes verzonden. U krijgt spoedig een reactie terug</div>
</div>
</body>
</html>
EOD;
echo "$theResults";
?>
/* Subject and Email variables */
$emailSubject = 'Email bericht van Speciallyforyou.nl!';
$webMaster = 'vul email in';
/* Gathering Data Variables */
$naamField = $_POST['naam'];
$emailField = $_POST['email'];
$telefoonField = $_POST['telefoon'];
$berichtField = $_POST['bericht'];
$body = <<<EOD
<br><hr><br>
Naam: $naam <br>
Email: $email <br>
Telefoon: $telefoon <br>
Bericht: $bericht <br>
EOD;
$headers = "From: $email\r\n";
$headers .= "Content-type: text/html\r\n";
$success = mail($webMaster, $emailSubject, $body, $headers);
/* Results rendered as HTML */
$theResults = <<<EOD
<html>
<head>
<title>Speciallyforyou</title>
<style type="text/css">
body {
background-color:pink;
font-family: Verdana, Geneva, sans-serif;
font-size: 12px;
font-style: normal;
color: #333
</style>
</head>
<div>
<div align"left"> Uw bericht is met succes verzonden. U krijgt spoedig een reactie terug</div>
</div>
</body>
</html>
EOD;
echo "$theResults";
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
$naamField = $_POST['naam'];
$emailField = $_POST['email'];
$telefoonField = $_POST['telefoon'];
$berichtField = $_POST['bericht'];
$body = <<<EOD
<br><hr><br>
Naam: $naam <br>
Email: $email <br>
Telefoon: $telefoon <br>
Bericht: $bericht <br>
EOD;
$emailField = $_POST['email'];
$telefoonField = $_POST['telefoon'];
$berichtField = $_POST['bericht'];
$body = <<<EOD
<br><hr><br>
Naam: $naam <br>
Email: $email <br>
Telefoon: $telefoon <br>
Bericht: $bericht <br>
EOD;
Je kopieert eerst waardes uit de POST, dit is overbodig.
Nadat je ze gekopieert hebt noem je ze $naamfield enz...
Maar daaronder in de Body noem je ze alleen $naam $email enz... dat moet wel overeen komen met de variabele daarboven...
Beter is om gewoon de $_POST['....'] rechtstreeks in de mail te gebruiken, maar je zult dan ook nog wat beveiliging om de $_POST['....'] heen moeten bouwen...
Ik weet niet zo goed welke, maar daar kunnen ze je hier zeker mee verder helpen.
(html_entity) zoiets.
maar er is nog 1 ding wat ik anders zou willen hebben als het mogelijk is?
als ik het berichtje krijg is de afzender: postmaster?+2006436@po?st.webmaile?r.de
kan ik dat ook veranderen op 1 of andere manier?
groetjes
Zij het dat de var niet klopt
En dat je geen enkele controle doet of het wel een beetje op een mailadres lijkt.
Daarmee stop je dus gebruikersinvoer in je mailheaders en kan elke scriptkiddie sspam via jouw server versturen.
Zie filter_input() op php.net en dan met name FILTER_VALIDATE_EMAIL
als je mij wilt helpen hierbij zodat het netjes en secure is zou ik heel erg op prijs stellen
ik heb net wel ff gekeken op php.net maar snap er niks van