Ik ben bezig met een scriptje, waarbij je in een bestelmode een mailtje krijgt als je wat besteld hebt. Het mailtje komt netjes binnen. Het probleem alleen is dat de mail niet in html wordt weergegeven. Zo is bijvoorbeeld de <br> en de &nbsp; te zien in het mailtje! Kan iemand helpen ?
Alvast bedankt
<?php
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
?>

Headers meegeven in je mail(), dan kan je prima zulke html mailtjes versturen.
Wat doe ik nu fout ??

//Mail zenden
$recipient= "[email protected]";
$subject= "Nieuwe bestelling, ordernummer: 2006-" .$countnr. " " ;
$header= "From: [email protected] \n";
$header.= "MIME-Version: 1.0\r\n";
$header.= "Content-type: text/html; charset=iso-8859-1\r\n";
$mail_body= $inhoud;

mail($recipient,$subject,$mail_body,$header);
Die $inhoud is wel correct html? Maak van die from-header ook een \r\n voor de zekerheid.
ik heb nu vand e from-header ook \r\n gemaakt..

in de $inhoud staan ook stukjes zoals $_POST['naam']. Kan dat kwaad ?
Als die mail netjes html is voorzie ik geen problemen. Ik zal even een voorbeeld in elkaar knutselen.
In de mailtjes moet wel persee <html><body></body></html> staan, anders schijnt het ook niet te werken.
Ik heb de <html><body></body>
</html> ook toegevoegd nu.... maar nog steeds hetzelfde probleem! Misschien dat dit het probleem is omdat er PHP bij staat ??

$inhoud= "Beste" .$_POST['naam']. "<br><br> Bedankt voor uw bestelling <br>";
<?php
$naar = '[email protected]';
$naam = 'Arjan Kapteijn';
$van = '[email protected]';

$ip = $_SERVER['REMOTE_ADDR'];

$titel = 'Dit is een test email.';

$bericht = '
<html>
<head>
<title>'.$titel.'</title>
<style type="text/css">
<!--
body {
background: #f3f3f3;
}

#container {
margin-left: auto;
margin-right: auto;
width: 90%;
border : 1px solid #36302d;
background-color : #ffffff;
text-align: center;
font: 10px verdana;
}

-->
</style>
</head>
<body>
<div id="container">
Dit is een test email
</div>
</body>
</html>
';

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: ".$naam." <".$van.">\r\n";
$headers .= "Reply-To: ".$naam." <".$van.">\r\n";
$headers .= "XRemoteIP: ".$ip."\r\n";
$headers .= "X-Priority: 3\r\n";
$headers .= "X-Mailer: PHP/" . phpversion();

@$verstuurd = mail($naar, $titel, $bericht, $headers);

if($verstuurd){
echo "<p><b>Succes.</b></p>";
}else{
echo "<p><b>Er ging iets mis!.</b></p>";
}
?>
ik zal het zo eens proberen, Bedankt alvast :)
Willem-Jan schreef op 10.03.2006 11:43
In de mailtjes moet wel persee <html><body></body></html> staan, anders schijnt het ook niet te werken.


Daar is niks van waar. Veel professionele mailingbedrijven gebruiken juist geen <html> tags en dergelijke omdat het dan op meer e-mailclients werkt.

Reageren