Php MAil functie
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
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
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.
ik heb overal gekeken en zie nergens de mail,
heb het ook al proberen sturen naar andere mensen hun email
en lukt ook niet
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
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>';
}
?>
hier.
Ligt waarschijnlijk aan de headers. De From zoals jij die hebt wordt niet door elke server geaccepteerd. Zie Gewijzigd op 10/08/2010 01:23:19 door - SanThe -