From email bij contactform
Ik heb een contactformulier maar het from email werkt niet.
Hopelijk kunnen jullie me helpen.
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
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
<!-- Contact -->
<? if (isset($_POST["submit"])) {
$name = $_POST['name'];
$email = $_POST['email'];
$datum = $_POST['datum'];
$aantal = $_POST['aantal'];
$message = $_POST['message'];
$tel = $_POST['tel'];
$human = intval($_POST['human']);
$from = '[email protected]';
$to = '[email protected]';
$subject = 'Reservatie via de website';
$body ="Van: $name\n E-Mail: $email\n Tel: $tel\n Datum: $datum\n Aantal: $aantal\n Extra:\n $message ";
// Check if name has been entered
if (!$_POST['name']) {
$errName = 'Voer uw naam in';
}
// Check if email has been entered and is valid
if (!$_POST['email'] || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
$errEmail = 'Voer een geldig e-mailadres in!';
}
//Check if message has been entered
if (!$_POST['tel']) {
$errTel = 'Voer uw telefoonnummer in';
}
//Check if message has been entered
if (!$_POST['voorname']) {
$errVoorName = 'Voer uw naam in';
}
//Check if simple anti-bot test is correct
if ($human !== 5) {
$errHuman = 'Your anti-spam is incorrect';
}
// If there are no errors, send the email
if (!$errName && !$errEmail && !$errMessage && !$errHuman) {
if (mail ($to, $subject, $body, $from)) {
$result='<div class="alert alert-success">We hebben uw bericht goed ontvangen. Wij bekijken dit zo spoedig mogelijk</div>';
} else {
$result='<div class="alert alert-danger">Oeps er liep iets mis :(</div>';
}
}
}
?>
<? if (isset($_POST["submit"])) {
$name = $_POST['name'];
$email = $_POST['email'];
$datum = $_POST['datum'];
$aantal = $_POST['aantal'];
$message = $_POST['message'];
$tel = $_POST['tel'];
$human = intval($_POST['human']);
$from = '[email protected]';
$to = '[email protected]';
$subject = 'Reservatie via de website';
$body ="Van: $name\n E-Mail: $email\n Tel: $tel\n Datum: $datum\n Aantal: $aantal\n Extra:\n $message ";
// Check if name has been entered
if (!$_POST['name']) {
$errName = 'Voer uw naam in';
}
// Check if email has been entered and is valid
if (!$_POST['email'] || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
$errEmail = 'Voer een geldig e-mailadres in!';
}
//Check if message has been entered
if (!$_POST['tel']) {
$errTel = 'Voer uw telefoonnummer in';
}
//Check if message has been entered
if (!$_POST['voorname']) {
$errVoorName = 'Voer uw naam in';
}
//Check if simple anti-bot test is correct
if ($human !== 5) {
$errHuman = 'Your anti-spam is incorrect';
}
// If there are no errors, send the email
if (!$errName && !$errEmail && !$errMessage && !$errHuman) {
if (mail ($to, $subject, $body, $from)) {
$result='<div class="alert alert-success">We hebben uw bericht goed ontvangen. Wij bekijken dit zo spoedig mogelijk</div>';
} else {
$result='<div class="alert alert-danger">Oeps er liep iets mis :(</div>';
}
}
}
?>
Jeroen de wilde op 19/10/2015 16:20:17:
.. maar het from email werkt niet.
Hoe bedoel je dat?
http://phpwiki.santhe.nl/index.php?title=De_juiste_mailheaders
Zie ook; http://php.net/manual/en/function.mail.php en dan Example #2.
Persoonlijk zou ik een mailer gebruik zoals phpMailer, gezien die object-gerienteerd is, en waarmee de mail makkelijker op te bouwen is, met de juiste headers.
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
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
<?php
$errors = array();
if(// field empty)
$errors[] = 'Foutmelding';
if(// not a valid email)
$errors[] = 'Geen geldig e-mailadres';
if(isset($errors) && count($errors) >= 1)
{
foreach($errors as $each)
{
echo '<p>'.$each.'</p>';
}
}
// mailheaders
$headers = 'From: Company <[email protected]>'."\r\n";
$headers .= 'Reply-To: Company <[email protected]>'."\r\n";
$headers .= 'Organization: Company'."\r\n";
$headers .= 'MIME-Version: 1.0'."\r\n";
$headers .= 'Content-Type: text/plain; charset=iso-8859-1'."\r\n";
$headers .= 'X-Priority: 3'."\r\n";
$headers .= 'X-Mailer: PHP/'.phpversion();
mail('[email protected]', 'subject', 'content', $headers);
?>
$errors = array();
if(// field empty)
$errors[] = 'Foutmelding';
if(// not a valid email)
$errors[] = 'Geen geldig e-mailadres';
if(isset($errors) && count($errors) >= 1)
{
foreach($errors as $each)
{
echo '<p>'.$each.'</p>';
}
}
// mailheaders
$headers = 'From: Company <[email protected]>'."\r\n";
$headers .= 'Reply-To: Company <[email protected]>'."\r\n";
$headers .= 'Organization: Company'."\r\n";
$headers .= 'MIME-Version: 1.0'."\r\n";
$headers .= 'Content-Type: text/plain; charset=iso-8859-1'."\r\n";
$headers .= 'X-Priority: 3'."\r\n";
$headers .= 'X-Mailer: PHP/'.phpversion();
mail('[email protected]', 'subject', 'content', $headers);
?>