Mailform error
Pagina: 1 2 3 ... 5 6 7 volgende »
Ik krijg mijn mailform niet aan de praat..
Het is een nogal grote code, maar ik krijg de fout er echt niet zelf uit.
Ik krijg de volgende error:
Warning: mail() [function.mail]: SMTP server response: 501 5.5.4. Invalid Address in ../contact.php on line 181. Er is een fout opgetreden bij het verzenden van de email.
Hier zijn de betreffende PHP-regels:
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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
ob_start();
session_start();
// Config Gedeelte
$cfg['url'] = "***";// Site waarnaar je terug gaat als je een bericht hebt achtergelaten
$cfg['naam'] = "***"; // Webmaster naam
$cfg['email'] = "***"; // Webmaster E-mail
$cfg['spam'] = 10; // Anti Spam Tijd in Minuten ( Voer "0" om de Spam Beveiliging uit te zetten )
$cfg['text'] = TRUE; // Bij Fout Text Rood maken ( TRUE voor aan, FALSE voor uit )
$cfg['input'] = TRUE; // Bij Fout Border om Vakje Rood maken ( TRUE voor aan, FALSE voor uit )
$cfg['HTML'] = TRUE; // Een HTML email ( TRUE voor aan, FALSE voor uit )
$cfg['CAPTCHA'] = TRUE; // CAPTCHA ( TRUE voor aan, FALSE voor uit )
// Hieronder niks meer veranderen
// E-mail Checker / Validator
function checkmail($email)
{
if(eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$", $email))
{
return TRUE;
}
return FALSE;
}
$formulier = TRUE;
if(!isset($_COOKIE['formulier']))
{
if(isset($_POST['wis']) && ($_SERVER['REQUEST_METHOD'] == "POST"))
{
foreach($_POST as $key => $value)
{
unset($value);
}
header("Location: ".$_SERVER['PHP_SELF']."");
}
if(isset($_POST['verzenden']) && ($_SERVER['REQUEST_METHOD'] == "POST"))
{
$aFout = array();
$naam = trim($_POST['naam']);
$email = trim($_POST['email']);
$onderwerp = trim($_POST['onderwerp']);
$bericht = trim($_POST['bericht']);
if($cfg['CAPTCHA'])
{
$code = $_POST['code'];
}
if(empty($naam) || (strlen($naam) < 3) || eregi("[<>]", $naam) )
{
$aFout[] = "Er is geen naam ingevuld.";
unset($naam);
$fout['text']['naam'] = TRUE;
$fout['input']['naam'] = TRUE;
}
if(empty($email))
{
$aFout[] = "Er is geen e-mail adres ingevuld.";
unset($email);
$fout['text']['email'] = TRUE;
$fout['input']['email'] = TRUE;
}
elseif(checkmail($email) == 0)
// Wanneer je PHP 5.2 > gebruikt
//elseif(!filter_var($email, FILTER_VALIDATE_EMAIL))
{
$aFout[] = "Er is geen correct e-mail adres ingevuld.";
unset($email);
$fout['text']['email'] = TRUE;
$fout['input']['email'] = TRUE;
}
if(empty($onderwerp))
{
$aFout[] = "Er is geen onderwerp ingevuld.";
unset($onderwerp);
$fout['text']['onderwerp'] = TRUE;
$fout['input']['onderwerp'] = TRUE;
}
if(empty($bericht))
{
$aFout[] = "Er is geen bericht ingevuld.";
unset($bericht);
$fout['text']['bericht'] = TRUE;
$fout['input']['bericht'] = TRUE;
}
if($cfg['CAPTCHA'])
{
if(strtoupper($code) != $_SESSION['captcha_code'])
{
$aFout[] = "Er is geen correcte code ingevuld.";
$fout['text']['code'] = TRUE;
$fout['input']['code'] = TRUE;
}
}
if(!$cfg['text'])
{
unset($fout['text']);
}
if(!$cfg['input'])
{
unset($fout['input']);
}
if(!empty( $aFout ))
{
$errors = '
<div id="errors">
<ul>';
foreach($aFout as $sFout)
{
$errors .= " <li>".$sFout."</li>\n";
}
$errors .= "</ul>
</div>";
}
else
{
$formulier = FALSE;
if($cfg['HTML'])
{
// Headers
$headers = "From: \"Contact Formulier\" <".$cfg['email'].">\r\n";
$headers .= "Reply-To: \"".$naam."\" <".$email.">\n";
$headers .= "Return-Path: Mail-Error <".$cfg['email'].">\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Transfer-Encoding: 8bit\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$bericht = '
<html>
<head>
</head>
<body>
<br />
<b>Naam:</b> '.$naam.'<br />
<b>Email:</b> <a href=\"mailto:'.$email.'\">'.$email.'</a><br />
<br />
<b>Bericht:</b><br />
'.$bericht.'
<br />
<br />
<br />
--------------------------------------------------------------------------<br />
<b>Datum:</b> '.date("d-m-Y @ H:i:s").'<br />
<b>IP:</b> <a href=\"http://sunny.nic.com/cgi-bin/whois?domain='.$_SERVER['REMOTE_ADDR'].'\">'.$_SERVER['REMOTE_ADDR'].'</a><br />
<b>Host:</b> '.gethostbyaddr($_SERVER['REMOTE_ADDR']).'<br />
</body>
</html>';
}
else
{
$bericht_wrap = wordwrap ($bericht, 40, "\n", 1);
// Headers
$headers = "From: \"Contact Formulier\" <".$cfg['email'].">\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-type: text/plain; charset='iso-8859-1'\n";
// Bericht
$message = "Naam: ".$naam." \n";
$message .= "E-mail: ".$email." \n";
$message .= "Bericht:\n".$bericht_wrap." \n ";
$message .= " \n ";
$message .= "Datum: ".date("d-m-Y H:i:s")." \n";
$message .= "------------------------------------------------------- \n ";
$message .= "IP: ".$_SERVER['REMOTE_ADDR']." \n ";
$message .= "Host: ".gethostbyaddr($_SERVER['REMOTE_ADDR'])." \n ";
}
if(mail($cfg['email'], "[Contact] ".$onderwerp, $bericht, $headers))
{
if(isset($_POST['stuurkopie']))
{
$headers = "From: \"Contact Formulier\" <".$email.">\r\n";
$headers .= "Reply-To: \"".$naam."\" <".$email.">\n";
$headers .= "Return-Path: Mail-Error <".$email.">\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Transfer-Encoding: 8bit\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
mail($email, "[Contact] ".$onderwerp, $bericht, $headers);
}
unset($naam, $email, $onderwerp, $bericht);
setcookie("formulier", 1, time() + ( $cfg['spam'] * 60 ) );
echo "
<p>
Uw bericht is succesvol verzonden, er word zo snel mogelijk gereageerd.<br />
<br />
Met vriendelijke groeten,<br />
<b>".$cfg['naam']."</b>
</p>
";
}
else
{
echo "Er is een fout opgetreden bij het verzenden van de email";
}
header("refresh:3;url=".$cfg['url']."");
}
}
if($formulier)
{
?>
ini_set('display_errors', 1);
error_reporting(E_ALL);
ob_start();
session_start();
// Config Gedeelte
$cfg['url'] = "***";// Site waarnaar je terug gaat als je een bericht hebt achtergelaten
$cfg['naam'] = "***"; // Webmaster naam
$cfg['email'] = "***"; // Webmaster E-mail
$cfg['spam'] = 10; // Anti Spam Tijd in Minuten ( Voer "0" om de Spam Beveiliging uit te zetten )
$cfg['text'] = TRUE; // Bij Fout Text Rood maken ( TRUE voor aan, FALSE voor uit )
$cfg['input'] = TRUE; // Bij Fout Border om Vakje Rood maken ( TRUE voor aan, FALSE voor uit )
$cfg['HTML'] = TRUE; // Een HTML email ( TRUE voor aan, FALSE voor uit )
$cfg['CAPTCHA'] = TRUE; // CAPTCHA ( TRUE voor aan, FALSE voor uit )
// Hieronder niks meer veranderen
// E-mail Checker / Validator
function checkmail($email)
{
if(eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$", $email))
{
return TRUE;
}
return FALSE;
}
$formulier = TRUE;
if(!isset($_COOKIE['formulier']))
{
if(isset($_POST['wis']) && ($_SERVER['REQUEST_METHOD'] == "POST"))
{
foreach($_POST as $key => $value)
{
unset($value);
}
header("Location: ".$_SERVER['PHP_SELF']."");
}
if(isset($_POST['verzenden']) && ($_SERVER['REQUEST_METHOD'] == "POST"))
{
$aFout = array();
$naam = trim($_POST['naam']);
$email = trim($_POST['email']);
$onderwerp = trim($_POST['onderwerp']);
$bericht = trim($_POST['bericht']);
if($cfg['CAPTCHA'])
{
$code = $_POST['code'];
}
if(empty($naam) || (strlen($naam) < 3) || eregi("[<>]", $naam) )
{
$aFout[] = "Er is geen naam ingevuld.";
unset($naam);
$fout['text']['naam'] = TRUE;
$fout['input']['naam'] = TRUE;
}
if(empty($email))
{
$aFout[] = "Er is geen e-mail adres ingevuld.";
unset($email);
$fout['text']['email'] = TRUE;
$fout['input']['email'] = TRUE;
}
elseif(checkmail($email) == 0)
// Wanneer je PHP 5.2 > gebruikt
//elseif(!filter_var($email, FILTER_VALIDATE_EMAIL))
{
$aFout[] = "Er is geen correct e-mail adres ingevuld.";
unset($email);
$fout['text']['email'] = TRUE;
$fout['input']['email'] = TRUE;
}
if(empty($onderwerp))
{
$aFout[] = "Er is geen onderwerp ingevuld.";
unset($onderwerp);
$fout['text']['onderwerp'] = TRUE;
$fout['input']['onderwerp'] = TRUE;
}
if(empty($bericht))
{
$aFout[] = "Er is geen bericht ingevuld.";
unset($bericht);
$fout['text']['bericht'] = TRUE;
$fout['input']['bericht'] = TRUE;
}
if($cfg['CAPTCHA'])
{
if(strtoupper($code) != $_SESSION['captcha_code'])
{
$aFout[] = "Er is geen correcte code ingevuld.";
$fout['text']['code'] = TRUE;
$fout['input']['code'] = TRUE;
}
}
if(!$cfg['text'])
{
unset($fout['text']);
}
if(!$cfg['input'])
{
unset($fout['input']);
}
if(!empty( $aFout ))
{
$errors = '
<div id="errors">
<ul>';
foreach($aFout as $sFout)
{
$errors .= " <li>".$sFout."</li>\n";
}
$errors .= "</ul>
</div>";
}
else
{
$formulier = FALSE;
if($cfg['HTML'])
{
// Headers
$headers = "From: \"Contact Formulier\" <".$cfg['email'].">\r\n";
$headers .= "Reply-To: \"".$naam."\" <".$email.">\n";
$headers .= "Return-Path: Mail-Error <".$cfg['email'].">\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Transfer-Encoding: 8bit\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$bericht = '
<html>
<head>
</head>
<body>
<br />
<b>Naam:</b> '.$naam.'<br />
<b>Email:</b> <a href=\"mailto:'.$email.'\">'.$email.'</a><br />
<br />
<b>Bericht:</b><br />
'.$bericht.'
<br />
<br />
<br />
--------------------------------------------------------------------------<br />
<b>Datum:</b> '.date("d-m-Y @ H:i:s").'<br />
<b>IP:</b> <a href=\"http://sunny.nic.com/cgi-bin/whois?domain='.$_SERVER['REMOTE_ADDR'].'\">'.$_SERVER['REMOTE_ADDR'].'</a><br />
<b>Host:</b> '.gethostbyaddr($_SERVER['REMOTE_ADDR']).'<br />
</body>
</html>';
}
else
{
$bericht_wrap = wordwrap ($bericht, 40, "\n", 1);
// Headers
$headers = "From: \"Contact Formulier\" <".$cfg['email'].">\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-type: text/plain; charset='iso-8859-1'\n";
// Bericht
$message = "Naam: ".$naam." \n";
$message .= "E-mail: ".$email." \n";
$message .= "Bericht:\n".$bericht_wrap." \n ";
$message .= " \n ";
$message .= "Datum: ".date("d-m-Y H:i:s")." \n";
$message .= "------------------------------------------------------- \n ";
$message .= "IP: ".$_SERVER['REMOTE_ADDR']." \n ";
$message .= "Host: ".gethostbyaddr($_SERVER['REMOTE_ADDR'])." \n ";
}
if(mail($cfg['email'], "[Contact] ".$onderwerp, $bericht, $headers))
{
if(isset($_POST['stuurkopie']))
{
$headers = "From: \"Contact Formulier\" <".$email.">\r\n";
$headers .= "Reply-To: \"".$naam."\" <".$email.">\n";
$headers .= "Return-Path: Mail-Error <".$email.">\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Transfer-Encoding: 8bit\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
mail($email, "[Contact] ".$onderwerp, $bericht, $headers);
}
unset($naam, $email, $onderwerp, $bericht);
setcookie("formulier", 1, time() + ( $cfg['spam'] * 60 ) );
echo "
<p>
Uw bericht is succesvol verzonden, er word zo snel mogelijk gereageerd.<br />
<br />
Met vriendelijke groeten,<br />
<b>".$cfg['naam']."</b>
</p>
";
}
else
{
echo "Er is een fout opgetreden bij het verzenden van de email";
}
header("refresh:3;url=".$cfg['url']."");
}
}
if($formulier)
{
?>
Het gaat om de volgende regel:
if(mail($cfg['email'], "[Contact] ".$onderwerp, $bericht, $headers))
Het lijkt mij dus dat hij op een of andere manier het email adres niet pakt..
maar ik zie de fout echt niet..
Kunnen jullie me helpen?
Mvg,
Tom
De fout lijkt mij vrij duidelijk. $cfg['email'] is geen correct e-mailadres.
Kijk is bij de 1e site en dan onderaan.
Daar staat aangegeven:
SMTP = localhost
port = 25
Dit is toch correct?
Want de SMTP draait natuurlijk op dezelfde server..
Ik heb nog nooit met mail() gewerkt..., i love phpmailer :P
Gewijzigd op 01/01/1970 01:00:00 door Martijn B
Zo natuurlijk is dat niet hoor, heb je hosting of test je lokaal?
http://www.phphulp.nl/php/tutorials/4/148/
Daar staat dat je wel iets moet invullen...
Daar staat dat je wel iets moet invullen...
Gewijzigd op 01/01/1970 01:00:00 door Martijn B
Tom schreef op 10.06.2008 20:43:
Ik heb eens in mijn php.ini file gekeken..
Daar staat aangegeven:
SMTP = localhost
port = 25
Dit is toch correct?
Want de SMTP draait natuurlijk op dezelfde server..
Daar staat aangegeven:
SMTP = localhost
port = 25
Dit is toch correct?
Want de SMTP draait natuurlijk op dezelfde server..
De error komt van de mailserver, dus dit is goed zo.
Ik moet een website voor school bouwen..
Niet voor punt, maar echt voor de school. Ivm de reünie volgend jaar..
Ik heb met de systeembeheerder een Xampp server opgezet.
Hij gebruikt alleen in IIS een SMTP service, en laat die van Xampp uit..
Dus ik zit hier thuis..
Maar in de server is het dus lokaal..
Gewijzigd op 01/01/1970 01:00:00 door Tom C
Je hoeft alleen host (b.v. smtp.home.nl), gebruikersnaam en wachtwoord in te stellen en je bent klaar.
http://phpmailer.codeworxtech.com/
Gewijzigd op 01/01/1970 01:00:00 door Martijn B
Dan zou ik voor Swiftmailer gaan, die is wat verder ontwikkeld en wat veiliger.
Mijn methode moet toch ook wel lukken? Ik snap alleen niet hoe het kan dat hij 'email' niet pak, als ik die gewoon invul..
Jurgen schreef op 10.06.2008 20:54:
Dan zou ik voor Swiftmailer gaan, die is wat verder ontwikkeld en wat veiliger.
Er is net een nieuwe versie van PHPmailer speciaal voor PHP5...
@Tom:
Heb je al gekeken naar een tutorial?
Gewijzigd op 01/01/1970 01:00:00 door Martijn B
Even ophouden met die discussie..
Ik wil gewoon even weten van de mensen die het misschien weten wat ik hier fout doe? Wat in deze code zorgt ervoor dat er een fout optreedt tijdens het verzenden?
Discussie? Wat jij fout doet kunnen wij ook niet ruiken het kan een scriptfout zijn, het kan een serverfout zijn, we proberen je alleen de beste oplossing te geven.
Dat kan misschien wel zo zijn, maar ik ben niet van plan om nu heel die code op nieuw te gaan schrijven. Dan vraag ik eerst wel even door voordat ik iets anders probeer. En trouwens, dit hoort gewoon te werken, klaar. Er zit dus simpelweg ergens een fout. Het punt is alleen dat ik hem niet kan vinden.
Als je voor de SMTP server een gebruikersnaam en wachtwoord nodig bent dan gaat mail(...) niet werken.
zie: http://email.about.com/cs/phpemailtips/qt/et031202.htm
Gewijzigd op 01/01/1970 01:00:00 door Martijn B
Ik denk dat het zo is:
Die website staat op de server.
Op diezelfde server staat een SMTP-server.
Dús heb je al geen gebruikersnaam en wachtwoord meer nodig..
Of bedoel je dat er een wachtwoord op de SMTP-server zit?
(Dat kan ik nu controleren via Remote Desktop)..
Quote:
Ik neem aan dat je bedoeld met 'op je echte PHP' de betreffende server..
Ik type steeds verkeerde woorden, nu staat het goed.
Edit:
Je email moet worden afgehandeld door een server. Meestal is dit een SMTP (Simpel message transfer protocol, dacht ik).
Hier moet je de email heen sturen.
Niet iedereen kan zo maar email naar een server sturen vandaar de authenticatie.
In PHP.ini staat nu "localhost" als SMTP server dus handelt jou PC de email af.
Je email moet worden afgehandeld door een server. Meestal is dit een SMTP (Simpel message transfer protocol, dacht ik).
Hier moet je de email heen sturen.
Niet iedereen kan zo maar email naar een server sturen vandaar de authenticatie.
In PHP.ini staat nu "localhost" als SMTP server dus handelt jou PC de email af.
Gewijzigd op 01/01/1970 01:00:00 door Martijn B