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/
Link gekopieerd
Ergens een recentere ter lering en vermaak?
Link gekopieerd
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.
Link gekopieerd
- 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?
Link gekopieerd
Ik ga er vandaag of morgen mee aan de slag! Bedankt voor de tips, nu andere verplichtingen!
Link gekopieerd
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.
Link gekopieerd
R
Robbert B
25-11-2014 20:21
gewijzigd op 25-11-2014 20:24
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>';
}
}
?>
Link gekopieerd
Als je het verstuurt als html moet je ook html code toepassen. <br> ipv \r en/of \n
Link gekopieerd
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
Link gekopieerd