Heb je wel een D-schijf?
Uncomment lijn 27 eens. Staat er misschien iets interessants in die logs?
- SanThe - op 27/11/2014 22:43:30

Heb je wel een D-schijf?


Ja ik heb een D schijf, daar staat mijn xampp ook op

Toevoeging op 27/11/2014 23:12:16:

Ik heb lijn 27 uncomment dit krijg ik:
[27-Nov-2014 23:10:24 Europe/Berlin] mail() on [D:\xampp\htdocs\mail2.php:27]: To: [email protected] -- Headers: From: [email protected]


Die mail2.php is:

<form name="form1" method="post" action="mail2.php">  
      Naam: <br><input name="naam" type="text" value""><br>  
      E-mail: <br><input name="email" type="text" value=""><br><br>  
      <textarea name="bericht" rows="7" cols="45"></textarea><br>  
      <input type="submit" name="Submit" value="Verzenden">  
</form>  


<?php  
if (!isset($_POST['naam']) || !isset($_POST['email']) || !isset($_POST['bericht'])) {  
    echo 'U heeft niet alle velden ingevuld!';  
    exit;  
}  
  
$naam = htmlspecialchars($_POST['naam']);  
$email = htmlspecialchars($_POST['email']);  
$bericht = htmlspecialchars($_POST['bericht']);  
  
$tijd = time();  
$datum = strftime('%d/%m/%y %H:%M', $tijd);  
$ip = getenv('REMOTE_ADDR');  
$message = $naam.' met het e-mailadres '.$email.' en het IP '.$ip.' stuurde op '.$datum.' het volgende bericht:  
____________________________________  
'.$bericht.'  
------------------------------------';  
  
mail('[email protected]', 'Bericht van mijndomein.nl', $message, 'From: '.$email);  
  
echo 'Uw bericht is verzonden. U krijgt zo snel mogelijk antwoord.';  
?>  
- SanThe - op 27/11/2014 23:21:04

Je headers zijn niet goed/compleet,
http://phpwiki.santhe.nl/index.php?title=De_juiste_mailheaders

En zet een if() rond mail().
<?php
if(mail(....))
{
echo 'Gelukt';
}
else
{
echo 'Mislukt';
}
?>


Ik heb eerst de code met aangepaste headers geprobeerd, nu krijg ik niks in mijn log en krijg geen mail binnen.
Nu probeer ik de aangepaste versie me mail met die if statement, en geen mail maar de foutmelding:

[27-Nov-2014 23:26:01 Europe/Berlin] mail() on [D:\xampp\htdocs\mail2.php:32]: To: [email protected] -- Headers: From: [email protected]


code:

<form name="form1" method="post" action="mail2.php">  
      Naam: <br><input name="naam" type="text" value""><br>  
      E-mail: <br><input name="email" type="text" value=""><br><br>  
      <textarea name="bericht" rows="7" cols="45"></textarea><br>  
      <input type="submit" name="Submit" value="Verzenden">  
</form>  


<?php  
if (!isset($_POST['naam']) || !isset($_POST['email']) || !isset($_POST['bericht'])) {  
    echo 'U heeft niet alle velden ingevuld!';  
    exit;  
}  
  
$naam = htmlspecialchars($_POST['naam']);  
$email = htmlspecialchars($_POST['email']);  
$bericht = htmlspecialchars($_POST['bericht']);  
  
$tijd = time();  
$datum = strftime('%d/%m/%y %H:%M', $tijd);  
$ip = getenv('REMOTE_ADDR');  
$message = $naam.' met het e-mailadres '.$email.' en het IP '.$ip.' stuurde op '.$datum.' het volgende bericht:  
____________________________________  
'.$bericht.'  
------------------------------------';  
  
mail('[email protected]', 'Bericht van mijndomein.nl', $message, 'From: '.$email);  
  
echo 'Uw bericht is verzonden. U krijgt zo snel mogelijk antwoord.';  
?>  
<?php
if(mail('[email protected]', 'Bericht van mijndomein.nl', $message, 'From: '.$email))
{
   echo 'Gelukt';
}
else
{
    echo 'Mislukt';
}
?>

Je hebt nu dit 'From: '.$email als header en dat is niet goed.
Hoe zou ik het beter moeten maken dan?

'From: ' . $email . ' <' . $email . '>'

zo iets?

Nu krijg ik:
[27-Nov-2014 23:38:43 Europe/Berlin] mail() on [D:\xampp\htdocs\mail2.php:32]: To: [email protected] -- Headers: From: [email protected] <[email protected]>
ho! Dit heeft geen zin. Je werkt met windows toch?

Dan MOET je je smtp instellen. Die van je provider dus. smtp.ziggo.nl ?

Volgens Aad accepteert Ziggo onbeveiligde verbindingen.

Mocht dan niet (meer) zijn dan kun je deze smtp server niet gebruiken in combinatie met de PHP mail() functie. Dan zul je op zoek moeten gaan naar een smtp server zonder TLS of SSL

Verder heb je aan een script als dit genoeg

<?php
mail('[email protected]', 'test', 'Dit is een testbericht');
?>
Ja ik werk met windows, dat script zojuist getest werkt ook niet, en ik gebruik gmail dus SMTP van gmail.
Binnen Mercury kan ik wel mail verzenden, maar vanuit PHP niet
Kevin Jager op 27/11/2014 23:43:31

Ja ik werk met windows, dat script zojuist getest werkt ook niet, en ik gebruik gmail dus SMTP van gmail.
Binnen Mercury kan ik wel mail verzenden, maar vanuit PHP niet

Dat klopt.

En ik ga het nog één keertje zachtjes zeggen:

[sub]Het is beter om over een TLS/SSl beveiligde verbinding middels SMTP je email te verzenden.
Dit kan echter niet met de PHP mail() functie, iig niet vanuit windows[/sub]

Reageren