Beste mensen op een of andere manier verstuurd hij het mailtje niet maar krijg ik wel het bericht hij is verstuurd.

Expres even geen beveiligingen erin puur om alleen te kijken hoe alles werkt. Alleen doet hij het dus niet om een of andere reden.

<?php
session_start(); // zorg ervoor dat session_start ALTIJD bovenaan ALLES van je pagina staat, anders werkt het niet!

// E-mailadres van de ontvanger
$mail_ontv = '[email protected]'; //

// Speciale checks voor naam en e-mailadres
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{

$datum = date('d/m/Y H:i:s');

$inhoud_mail = "===================================================\n";
$inhoud_mail .= "Ingevulde contact formulier " . $_SERVER['HTTP_HOST'] . "\n";
$inhoud_mail .= "===================================================\n\n";

$inhoud_mail .= "E-mail adres: " . htmlspecialchars($_POST['email']) . "\n";
$inhoud_mail .= "Naam: " . htmlspecialchars($_POST['naam']) . "\n";
$inhoud_mail .= "Verstuurd op " . $datum . " via het IP adres " . $_SERVER['REMOTE_ADDR'] . "\n\n";

$inhoud_mail .= "===================================================\n\n";


$headers = 'From: ' . htmlspecialchars($_POST['naam']) . ' <' . $_POST['mail'] . '>';

$headers = stripslashes($headers);
$headers = str_replace('\n', '', $headers); // Verwijder \n
$headers = str_replace('\r', '', $headers); // Verwijder \r
$headers = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $headers)); // Slashes van quotes

$_POST['onderwerp'] = str_replace('\n', '', $_POST['onderwerp']); // Verwijder \n
$_POST['onderwerp'] = str_replace('\r', '', $_POST['onderwerp']); // Verwijder \r
$_POST['onderwerp'] = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $_POST['onderwerp'])); // Slashes van quotes

if (mail($mail_ontv, $_POST['onderwerp'], $inhoud_mail, $headers))
{
echo '<h1>Het contactformulier is verzonden</h1>

<p>Bedankt voor het invullen van het contactformulier. We zullen zo spoedig mogelijk contact met u opnemen.</p>';
}
}
?>
Probeer iszonder dit.


  $headers = 'From: ' . htmlspecialchars($_POST['naam']) . ' <' . $_POST['mail'] . '>';
  
  $headers = stripslashes($headers);
  $headers = str_replace('\n', '', $headers); // Verwijder \n
  $headers = str_replace('\r', '', $headers); // Verwijder \r
  $headers = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $headers)); // Slashes van quotes
  
  $_POST['onderwerp'] = str_replace('\n', '', $_POST['onderwerp']); // Verwijder \n
  $_POST['onderwerp'] = str_replace('\r', '', $_POST['onderwerp']); // Verwijder \r
  $_POST['onderwerp'] = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $_POST['onderwerp'])); // Slashes van quotes
  
  if (mail($mail_ontv, $_POST['onderwerp'], $inhoud_mail, $headers))


[size=xsmall]Toevoeging op 24/11/2014 19:13:05:[/size]

Aar is deze contactformulier niet te oud want er staat 14 jaar geleden: http://www.phphulp.nl/php/script/data-verwerking/contact-formulier/12/contactformulierphp/1419/

SCRIPT UPDATE 14 FEBRUARY 2011

Valt mee ;)
Ergens een recentere ter lering en vermaak?
Hij is kwalitatief wel goed hoor, ondanks hij pas 3 jaar oud is. Ik zou wel de headers van SanThe's PHPwiki nog even toevoegen, en een controle of mail() false kan zijn.
- Aar - op 24/11/2014 19:15:58


SCRIPT UPDATE 14 FEBRUARY 2011

Valt mee ;)

Mooi, het wel leuk als wij phphulpers sommige bestaande script uptodate houden. :)
Ik zal dan nog headers van SanThe's PHPwiki inbouwen dan kunnen de andere ook gebruiken. Moet ik hiervoor een nieuwe topic openen?

[size=xsmall]Toevoeging op 24/11/2014 19:32:19:[/size]

Robbert hoe ver ben?
Ik ga er vandaag of morgen mee aan de slag! Bedankt voor de tips, nu andere verplichtingen!
Oke succes, laat ons weten als het gelukt is en als je ook kan vermelden wat je hebt gedaan kunnen de bezoekers ook jou oplossing proberen.
Ik ontvang nu wel mail op outlook, alleen staat het helemaal schots en scheef zoals hieronder

=================================================== Ingevulde formulier robbert.com =================================================== Emailadres: Robbert Bericht: Robbert Question: Robberrt Verstuurd op 25/11/2014 14:17:54 via het IP adres 86.xx.xx.xx ===================================================


$datum = date('d/m/Y H:i:s');

$email = "===================================================\n";
$email .= "Ingevulde formulier " . $_SERVER['HTTP_HOST'] . "\n";
$email .= "===================================================\n\n";

$email .= "Emailadres: " . htmlspecialchars($_POST['email']) . "\n";
$email .= "Bericht: " . htmlspecialchars($_POST['bericht']) . "\n";
$email .= "Question: " . htmlspecialchars($_POST['question']) . "\n\n";

$email .= "Verstuurd op " . $datum . " via het IP adres " . $_SERVER['REMOTE_ADDR'] . "\n\n";

$email .= "===================================================\n\n";



Waar gaat dit fout?

De code is nu alsvolgt

<?php
session_start(); //Altijd bovenaan!

// Speciale checks voor naam en e-mailadres
if ($_SERVER['REQUEST_METHOD'] == 'POST') //Controleert of op de knop is gedrukt!
{
// set datum
$datum = date('d/m/Y H:i:s');

$email = "===================================================\n";
$email .= "Ingevulde formulier " . $_SERVER['HTTP_HOST'] . "\n";
$email .= "===================================================\n\n";

$email .= "Emailadres: " . htmlspecialchars($_POST['email']) . "\n";
$email .= "Bericht: " . htmlspecialchars($_POST['bericht']) . "\n";
$email .= "Question: " . htmlspecialchars($_POST['question']) . "\n\n";

$email .= "Verstuurd op " . $datum . " via het IP adres " . $_SERVER['REMOTE_ADDR'] . "\n\n";

$email .= "===================================================\n\n";

//Headers

// Een korte benaming voor jouw website
$website_naam = 'Robbert';
// Jouw eigen geldige emailadres
$eigen_emailadres = '[email protected]';
// Een geldig emailadres voor errors
$error_emailadres = '[email protected]';
// De naam van de verzender
$naam_verzender = 'Afzender';
// Het geldige emailadres van de afzender
$email_verzender = '[email protected]';
// Een geldig emailadres of helemaal leeg laten
$bcc_emailadres = '';
// HTML mail? True/False
$html = true;

// De headers samenstellen
$headers = 'From: ' . $website_naam . ' <' . $eigen_emailadres . '>' . "\r\n";
$headers .= 'Reply-To: ' . $naam_verzender . ' <' . $email_verzender . '>' . "\r\n";
$headers .= 'Return-Path: Mail-Error <' . $error_emailadres . '>' . "\r\n";
$headers .= ($bcc_emailadres != '') ? 'Bcc: ' . $bcc_emailadres . "\r\n" : '';
$headers .= 'X-Mailer: PHP/' . phpversion() . "\r\n";
$headers .= 'X-Priority: Normal' . "\r\n";
$headers .= ($html) ? 'MIME-Version: 1.0' . "\r\n" : '';
$headers .= ($html) ? 'Content-type: text/html; charset=iso-8859-1' . "\r\n" : '';

if (mail($eigen_emailadres, $_POST['onderwerp'], $email, $headers))
{

echo '<h1>Bedankt</h1>

<p>U ontvangt spoedig een reactie.</p>';
}
}
?>


Als je het verstuurt als html moet je ook html code toepassen. <br> ipv \r en/of \n
Idd lees hier boven

[size=xsmall]Toevoeging op 26/11/2014 03:05:53:[/size]

Bij dubbel \n dus \n\n moet <br></br> zijn

Reageren