Mailformulier: mail komt nooit aan !
Ik heb nu al verschillende php mailformulieren gebruikt; waaronder degene op deze site. Ze geven allemaal een goed return: "het mailtje is met succes verzonden". Maar helaas komt de mail nooit op zijn bestemmming !!!
Alles blijkt goed ingevuld te zijn.
Ik lees mijn mails via hotmail; maar m'n ander adres op mail.be geeft hetzelfde resultaat.
Bizar is dat het script wel gewerkt heeft; een 3 maanden geleden.
Sindsdien is er niets aan gewijzigd, maar toch faalt de ontvangst.
Zijn er nog ergens instellingen die ik vergeten ben, op de server misschien ?
Ik host bij www.yourspace.be.
Een voorbeeldje van php:
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
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
<?
/*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Copyright (C) 2004-2006 SunFrogServices.com. All rights reserved.
PHPeasy-form version 3.0
Released 2006-03-17
This file is part of PHPeasy-form.
PHPeasy-form is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
PHPeasy-form is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with PHPeasy-form; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Contact SunFrogServices.com at:
http://www.SunFrogServices.com
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*/
?>
/*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Copyright (C) 2004-2006 SunFrogServices.com. All rights reserved.
PHPeasy-form version 3.0
Released 2006-03-17
This file is part of PHPeasy-form.
PHPeasy-form is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
PHPeasy-form is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with PHPeasy-form; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Contact SunFrogServices.com at:
http://www.SunFrogServices.com
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*/
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Contactformulier</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
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
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
<?
if ((!$name) || (!$email) || (!$phone) || (!$message))
{
$display .= '<p align="center">Alle velden moeten ingevuld zijn ! Probeer opnieuw aub.</p>';
$display .= '<p align="center"><a href=javascript:history.back()>Go back</a></p>';
}
else{
$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$message = $_POST['message'];
$fp = fopen("formresults.txt", "a");
fwrite($fp, $name . "," .
$email . "," .
$phone . "," .
date("M-d-Y") . "\n");
fclose($fp);
// send form results through email
$recipient = "[email protected]";
$subject = "Bericht van uw website";
$forminfo =
(
$name . "\r" .
$email . "\r" .
$phone . "\r" .
$message . "\r\n" .
date("M-d-Y") . "\r\n\n"
);
$formsend = mail("$recipient", "$subject", "$forminfo", "From: $email\r\nReply-to:$email\r\n");
$display .= '<p>Dank voor uw bericht. We contacteren U zo snel mogelijk.</p>';
$display .= nl2br($forminfo);
}
?>
if ((!$name) || (!$email) || (!$phone) || (!$message))
{
$display .= '<p align="center">Alle velden moeten ingevuld zijn ! Probeer opnieuw aub.</p>';
$display .= '<p align="center"><a href=javascript:history.back()>Go back</a></p>';
}
else{
$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$message = $_POST['message'];
$fp = fopen("formresults.txt", "a");
fwrite($fp, $name . "," .
$email . "," .
$phone . "," .
date("M-d-Y") . "\n");
fclose($fp);
// send form results through email
$recipient = "[email protected]";
$subject = "Bericht van uw website";
$forminfo =
(
$name . "\r" .
$email . "\r" .
$phone . "\r" .
$message . "\r\n" .
date("M-d-Y") . "\r\n\n"
);
$formsend = mail("$recipient", "$subject", "$forminfo", "From: $email\r\nReply-to:$email\r\n");
$display .= '<p>Dank voor uw bericht. We contacteren U zo snel mogelijk.</p>';
$display .= nl2br($forminfo);
}
?>
</body>
</html>
Check ff een de vele scripts en tutorials over het beveiligen van je emailformulieren..
Vervang in eerste plaats je \r\n in \n (deze worden soms verkeerd geïnterpreteerd door mail-verwerkings-applicaties)
Je zou de variabele $formsend eens moeten checken of deze 'true' of 'false' is.. Als het 'true' is, dan ligt het waarschijnlijk aan de spamfilter die MSN gebruikt
Neem in dat geval wat extra velden op in je header (vervang zelf de variabelen voor de juiste waarden.
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
<?php
define("LF", "\n", true);
$headers = 'From: "' . $from_name . '" <' . $from_addr . '>' . LF
. 'X-Mailer: PHP' . LF
. 'X-Sender: "' . $from_name . '" <' . $from_addr . '>' . LF
. 'X-Priority: 3' . LF
. 'Return-Path: <' . $bounce_addr . '>' . LF
. 'Reply-To: "' . $from_name . '" <' . $from_addr . '>' . LF;
?>
define("LF", "\n", true);
$headers = 'From: "' . $from_name . '" <' . $from_addr . '>' . LF
. 'X-Mailer: PHP' . LF
. 'X-Sender: "' . $from_name . '" <' . $from_addr . '>' . LF
. 'X-Priority: 3' . LF
. 'Return-Path: <' . $bounce_addr . '>' . LF
. 'Reply-To: "' . $from_name . '" <' . $from_addr . '>' . LF;
?>
Eigenlijk ben ik een absolute beginner in PHP. Ik ben nu wel een cursus ASP aant volgen; tja php hadden ze er niet ! Dat zou volgend jaar komen.
Heb je misschien een idee waar ik een goed beveiligd php-mail script kan vinden; waaruit ik dan de velden: naam/email/telefoon/message kan aanmaken.
mvg,
Dave