Php MAil functie
Hallo,
ik ben bezig met een contact form maar het lukt nog steeds niet,
ziet iemand de fout ?
Er komt geen fout op want er komt gelukt op maar het word niet verstuurd
ik ben bezig met een contact form maar het lukt nog steeds niet,
ziet iemand de fout ?
Er komt geen fout op want er komt gelukt op maar het word niet verstuurd
Quote:
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
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$to = $_POST['aan'];
$subject = $_POST['onderwerp'];
$message = $_POST['bericht'];
$headers = 'From: '.$_POST['van']."\r\n".
'Reply-To:'.$_POST['van']."\r\n".
'X-Mailer: PHP/'.phpversion();
$msg1 = mail($to, $subject, $message, $headers);
if($msg1)
{
echo 'Gelukt';
}
else
{
echo 'Fout bij verzenden';
}
}
else
{
echo '
<form class="contact" action="" method="post">
<label class="contact">Aan</label>
<select class="contact" name="aan">
<option value="[email protected]">Sam</option>
<option value="[email protected]">Christian</option>
</select>
<label class="contact" for="1">Van</label>
<input class="contact" id="1" name="van" type="text" />
<label class="contact" for="2">Onderwerp</label>
<input class="contact" id="2" name="onderwerp" type="text" />
<label class="contact" for="3">Bericht</label>
<textarea class="contact" name="bericht"></textarea>
<input type="submit" class="submit" value="Verzenden">
</form>';
}
?>
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$to = $_POST['aan'];
$subject = $_POST['onderwerp'];
$message = $_POST['bericht'];
$headers = 'From: '.$_POST['van']."\r\n".
'Reply-To:'.$_POST['van']."\r\n".
'X-Mailer: PHP/'.phpversion();
$msg1 = mail($to, $subject, $message, $headers);
if($msg1)
{
echo 'Gelukt';
}
else
{
echo 'Fout bij verzenden';
}
}
else
{
echo '
<form class="contact" action="" method="post">
<label class="contact">Aan</label>
<select class="contact" name="aan">
<option value="[email protected]">Sam</option>
<option value="[email protected]">Christian</option>
</select>
<label class="contact" for="1">Van</label>
<input class="contact" id="1" name="van" type="text" />
<label class="contact" for="2">Onderwerp</label>
<input class="contact" id="2" name="onderwerp" type="text" />
<label class="contact" for="3">Bericht</label>
<textarea class="contact" name="bericht"></textarea>
<input type="submit" class="submit" value="Verzenden">
</form>';
}
?>
Gewijzigd op 09/08/2010 21:46:21 door Jens van loocke
ook niet als je dit boven aan je script zet.
heb ik geprobeert,
en nee dit lukt niet,
er komt wel gelukt! op maar in postvak in is er niets te vinden.
thx
en nee dit lukt niet,
er komt wel gelukt! op maar in postvak in is er niets te vinden.
thx
Je kent nu aan variabele $msg1 een 'waarde' toe en daarmee krijg je 'gelukt' als uitkomst van je if-statement.
Kijk eens op bv http://php.net/manual/en/function.mail.php hoe je dit kunt oplossen.
Obelix en Idefix op 09/08/2010 21:59:42:
Je mag best het resultaat van een functie en in dit geval mail() toekennen aan een variabele. Ik gebruik dit en werkt prima:Je kent nu aan variabele $msg1 een 'waarde' toe en daarmee krijg je 'gelukt' als uitkomst van je if-statement.
$mail_sent = @mail( $to, $subject, $message, $headers );
//the message is sent successfully print "Mail sent". Otherwise print "Mail failed"
echo $mail_sent ? "Mail sent to ".$to : "Mail failed";
Het probleem ligt niet in $msg = mail(
Gewijzigd op 09/08/2010 22:13:14 door Aad B
wat zou het probleem kunnen zijn dan :)à?
thx
thx
Ben je er ook zeker van dat de mail niet wordt verstuurd? Vaak komen mailtjes met verkeerde headers namelijk in de spambox terecht. Zoek daar ook eens even. Mocht het in de spambox zitten, dan zou ik overwegen naar een oplossing als PHPMailer, aangezien die wat beter is in de goede headers meesturen, en dus een (veel) kleinere kans heeft als spam te worden aangemerkt.
Nee,
ik heb overal gekeken en zie nergens de mail,
heb het ook al proberen sturen naar andere mensen hun email
en lukt ook niet
ik heb overal gekeken en zie nergens de mail,
heb het ook al proberen sturen naar andere mensen hun email
en lukt ook niet
PHPMailer prima tool, mee eens.
Of zoek naar een goed header voorbeeld en probeer dat.
Dit is sowieso onnodig: 'X-Mailer: PHP/'.phpversion();
Of zoek naar een goed header voorbeeld en probeer dat.
Dit is sowieso onnodig: 'X-Mailer: PHP/'.phpversion();
Edit:
Dit is het enige dat ik in de header zet en het werkt prima!
$headers = "From: Website Cafe Proost <[email protected]>\r\n";
Dit is het enige dat ik in de header zet en het werkt prima!
$headers = "From: Website Cafe Proost <[email protected]>\r\n";
Gewijzigd op 09/08/2010 22:27:05 door Aad B
Ik heb even iets uit de oude doos voor je getrokken ... ik gebruik zelf nu ook phpMailer, al jaren! Dan moet je wel een beetje weten hoe je met classes werkt.
Zo zijn we allemaal begonnen, dus hierbij..
(je kan zelf wel even de vars aanpassen, toch?)
Zo zijn we allemaal begonnen, dus hierbij..
(je kan zelf wel even de vars aanpassen, toch?)
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
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
<?php
//-----------------------------------------------------------------
// Configure > Error display
//-----------------------------------------------------------------
error_reporting(E_ALL);
ini_set("display_errors","On"); //activeer de display_error
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$headers = "From: \"".$a."\" <".$e.">\r\n"; //vanwie is mail
$headers .= "Reply-To: \"".$a."\" <".$e.">\r\n"; //op mail kunnen beantwoorden.
//$headers .= "Cc: \"naam mijn domein\" <[email protected]>\r\n";
//$headers .= "Bcc: \"naam mijn domein\" <[email protected]>\r\n";
//$headers .= "add_attachment: ";
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; // text/html text/plain image/gif multipart/alternative
$aan = '[email protected]' . ', '; // note the comma
$onderwerp = '[ Contact formulier ] mijn script.nl';
$bericht = ''; //html tussen de '', of gewoon tekst
if (mail($aan, $onderwerp, $bericht, $headers)) {
{
echo 'Gelukt';
}else
{
echo 'Fout bij verzenden';
}
}
else
{
echo '
<form class="contact" action="" method="post">
<label class="contact">Aan</label>
<select class="contact" name="aan">
<option value="[email protected]">Sam</option>
<option value="[email protected]">Christian</option>
</select>
<label class="contact" for="1">Van</label>
<input class="contact" id="1" name="van" type="text" />
<label class="contact" for="2">Onderwerp</label>
<input class="contact" id="2" name="onderwerp" type="text" />
<label class="contact" for="3">Bericht</label>
<textarea class="contact" name="bericht"></textarea>
<input type="submit" class="submit" value="Verzenden">
</form>';
}
?>
//-----------------------------------------------------------------
// Configure > Error display
//-----------------------------------------------------------------
error_reporting(E_ALL);
ini_set("display_errors","On"); //activeer de display_error
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$headers = "From: \"".$a."\" <".$e.">\r\n"; //vanwie is mail
$headers .= "Reply-To: \"".$a."\" <".$e.">\r\n"; //op mail kunnen beantwoorden.
//$headers .= "Cc: \"naam mijn domein\" <[email protected]>\r\n";
//$headers .= "Bcc: \"naam mijn domein\" <[email protected]>\r\n";
//$headers .= "add_attachment: ";
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; // text/html text/plain image/gif multipart/alternative
$aan = '[email protected]' . ', '; // note the comma
$onderwerp = '[ Contact formulier ] mijn script.nl';
$bericht = ''; //html tussen de '', of gewoon tekst
if (mail($aan, $onderwerp, $bericht, $headers)) {
{
echo 'Gelukt';
}else
{
echo 'Fout bij verzenden';
}
}
else
{
echo '
<form class="contact" action="" method="post">
<label class="contact">Aan</label>
<select class="contact" name="aan">
<option value="[email protected]">Sam</option>
<option value="[email protected]">Christian</option>
</select>
<label class="contact" for="1">Van</label>
<input class="contact" id="1" name="van" type="text" />
<label class="contact" for="2">Onderwerp</label>
<input class="contact" id="2" name="onderwerp" type="text" />
<label class="contact" for="3">Bericht</label>
<textarea class="contact" name="bericht"></textarea>
<input type="submit" class="submit" value="Verzenden">
</form>';
}
?>
Ligt waarschijnlijk aan de headers. De From zoals jij die hebt wordt niet door elke server geaccepteerd. Zie hier.
Gewijzigd op 10/08/2010 01:23:19 door - SanThe -




