Hallo iedereen, ik heb een mailscript gemaakt zodat mensen mij 2 attachments kunnen sturen samen met wat algemene informatie:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Sleutel bestelling</title>
<style type="text/css">
<!--
.tekst {
font-family: Verdana, Geneva, sans-serif;
font-size: 10px;
}
-->
</style>
<link href="css/SpryCollapsiblePanel.css" rel="stylesheet" type="text/css">
<script src="js/SpryCollapsiblePanel.js" type="text/javascript"></script>
</head>

<body style="padding:3px; margin:0px;" bgcolor="#FFFFFF">
<?php
if ($_SERVER['REQUEST_METHOD']=="POST"){

$to="[email protected]";
$subject="Sleutel/Cilinder Bestelformulier";

$from = stripslashes($_POST['fromname'])."<".stripslashes($_POST['fromemail']).">";

$mime_boundary="==Multipart_Boundary_x".md5(mt_rand())."x";

$headers = "From: $from\r\n" .
"MIME-Version: 1.0\r\n" .
"Content-Type: multipart/mixed;\r\n" .
" boundary=\"{$mime_boundary}\"";

$headers .= "--$num\r\n";

$headers .= "Message-ID: <".$now." TheSystem@".$_SERVER['SERVER_NAME'].">\r\n";
$headers .= "X-Mailer: PHP v".phpversion()."\r\n";

$message= '<table cellspacing="0" cellpadding="8" border="0" width="400">
<tr>
<td colspan="2"></td>
</tr>
<tr bgcolor="#eeeeee">
<td style="font-family:Verdana, Arial; font-size:11px; color:#333333;"><strong>Name</strong></td>
<td style="font-family:Verdana, Arial; font-size:11px; color:#333333;">'.$fromname.'</td>
</tr>
<tr><td colspan="2" style="padding:0px;"><img src="images/whitespace.gif" alt="" width="100%" height="1" /></td></tr>
<tr bgcolor="#eeeeee">
<td style="font-family:Verdana, Arial; font-size:11px; color:#333333;"><strong>Address</strong></td>
<td style="font-family:Verdana, Arial; font-size:11px; color:#333333;">'.$fromemail.'</td>
</tr>
<td colspan="2" style="padding:0px;"><img src="images/whitespace.gif" alt="" width="100%" height="1" /></td></tr>
</table>';

$message = "This is a multi-part message in MIME format.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type: text/plain; charset=\"iso-8859-1\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$message . "\n\n";

foreach($_FILES as $userfile){
$tmp_name = $userfile['tmp_name'];
$type = $userfile['type'];
$name = $userfile['name'];
$size = $userfile['size'];

if (file_exists($tmp_name)){

if(is_uploaded_file($tmp_name)){

$file = fopen($tmp_name,'rb');

$data = fread($file,filesize($tmp_name));

fclose($file);

$data = chunk_split(base64_encode($data));
}

$message .= "--{$mime_boundary}\n" .
"Content-Type: {$type};\n" .
" name=\"{$name}\"\n" .
"Content-Disposition: attachment;\n" .
" filename=\"{$fileatt_name}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data . "\n\n";
}
}
$message.="--{$mime_boundary}--\n";
if (@mail($to, $subject, $message, $headers))
echo "Uw bestelling is verzonden";
else
echo "Er is iets fout gegaan met het verzenden met uw bestelling.";
} else {
?>
<form name="form1" method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">
<table width="495" border="0" align="center" cellpadding="0" cellspacing="3" class="tekst">
<tr>
<td colspan="7" class="body"><strong>Sleutel/Cilinder Bestelformulier</strong></td>
</tr>
<tr>
<td colspan="7" class="body">&nbsp;</td>
</tr>
<tr>
<td width="131" colspan="1" class="body"> Opdracht Nummer</td>
<td colspan="3"><input type="text" name="opdrachtnr" class="textfield" id="opdrachtnr"></td>
</tr>
<tr>
<td colspan="1" class="body">Naam Klant</td>
<td colspan="3"><input type="text" name="fromname" class="textfield" id="fromname"></td>
</tr>
<tr>
<td colspan="1" class="body"> Afleveradres</td>
<td colspan="3"><textarea cols="16" name="afleveradr" id="afleveradr"></textarea></td>
</tr>
<tr>
<td colspan="1" class="body">Factuuradres</td>
<td colspan="3"><textarea cols="16" name="factuuradr" id="factuuradr"></textarea></td>
</tr>
<tr>
<td colspan="1" class="body"> Contactpersoon</td>
<td colspan="3"><input type="text" name="contact" class="textfield" id="contact"></td>
</tr>
<tr>
<td colspan="1" class="body"> Telefoon</td>
<td colspan="3"><input type="text" name="telefoon" class="textfield" id="telefoon"></td>
</tr>
<tr>
<td colspan="1" class="body"> Fax</td>
<td colspan="3"><input type="text" name="fax" class="textfield" id="fax"></td>
</tr>
<tr>
<td colspan="1" class="body">E-Mail</td>
<td colspan="3"><input type="text" name="fromemail" class="textfield" id="fromemail"></td>
</tr>
<tr>
<td colspan="1" class="body">Certificaat (PDF/JPG)</td>
<td colspan="3"><input type="file" name="file1" id="file1">
<div id="extra001" class="CollapsiblePanel">
<div class="CollapsiblePanelTab" tabindex="0">+ Klik hier om een extra certificaat toe te voegen</div>
<div class="CollapsiblePanelContent">
<input type="file" name="file2" id="file2">
</div>
</div>
</td>
</tr>
<tr>
<td colspan="1" rowspan="7" align="center" valign="bottom" class="body"><img src="afbeeldingen/sleutel.jpg" alt="sleutel" width="85" height="166" align="middle"></td>
<td width="96" align="center" valign="middle"><strong>Sleutel nummer</strong></td>
<td width="101" align="center" valign="middle"><strong>Aantal</strong></td>
<td width="104" align="center" valign="middle"><strong>Sluitplan nummer</strong></td>
</tr>
<tr>
<td><input name="fax2" type="text" class="textfield" id="fax2" size="10"></td>
<td><input name="fax6" type="text" class="textfield" id="fax6" size="10"></td>
<td><input name="fax10" type="text" class="textfield" id="fax10" size="10"></td>
</tr>
<tr>
<td><input name="fax3" type="text" class="textfield" id="fax3" size="10"></td>
<td><input name="fax7" type="text" class="textfield" id="fax7" size="10"></td>
<td><input name="fax11" type="text" class="textfield" id="fax11" size="10"></td>
</tr>
<tr>
<td><input name="fax3" type="text" class="textfield" id="fax3" size="10"></td>
<td><input name="fax7" type="text" class="textfield" id="fax7" size="10"></td>
<td><input name="fax11" type="text" class="textfield" id="fax11" size="10"></td>
</tr>
<tr>
<td><input name="fax3" type="text" class="textfield" id="fax3" size="10"></td>
<td><input name="fax7" type="text" class="textfield" id="fax7" size="10"></td>
<td><input name="fax11" type="text" class="textfield" id="fax11" size="10"></td>
</tr>
<tr>
<td><input name="fax3" type="text" class="textfield" id="fax3" size="10"></td>
<td><input name="fax7" type="text" class="textfield" id="fax7" size="10"></td>
<td><input name="fax11" type="text" class="textfield" id="fax11" size="10"></td>
</tr>
<tr>
<td colspan="3">
<div id="extra002" class="CollapsiblePanel">
<div class="CollapsiblePanelTab" tabindex="0">+ Klik hier om meer sleutels toe te voegen</div>
<div class="CollapsiblePanelContent">
<table border="0" cellpadding="0" cellspacing="3" style="margin-left:-3px; margin-right:-3px;">
<tr>
<td><input name="fax5" type="text" class="textfield" id="fax5" size="10"></td>
<td><input name="fax9" type="text" class="textfield" id="fax9" size="10"></td>
<td><input name="fax13" type="text" class="textfield" id="fax13" size="10"></td>
</tr>
<tr>
<td><input name="fax5" type="text" class="textfield" id="fax5" size="10"></td>
<td><input name="fax9" type="text" class="textfield" id="fax9" size="10"></td>
<td><input name="fax13" type="text" class="textfield" id="fax13" size="10"></td>
</tr>
<tr>
<td><input name="fax5" type="text" class="textfield" id="fax5" size="10"></td>
<td><input name="fax9" type="text" class="textfield" id="fax9" size="10"></td>
<td><input name="fax13" type="text" class="textfield" id="fax13" size="10"></td>
</tr>
<tr>
<td><input name="fax5" type="text" class="textfield" id="fax5" size="10"></td>
<td><input name="fax9" type="text" class="textfield" id="fax9" size="10"></td>
<td><input name="fax13" type="text" class="textfield" id="fax13" size="10"></td>
</tr>
<tr>
<td><input name="fax5" type="text" class="textfield" id="fax5" size="10"></td>
<td><input name="fax9" type="text" class="textfield" id="fax9" size="10"></td>
<td><input name="fax13" type="text" class="textfield" id="fax13" size="10"></td>
</tr>
</table>
</div>
</div>
</td>
</tr>
<tr>
<td height="77" colspan="7" align="left" style="padding-top:10px; padding-bottom:10px; text-align: center;"><p><strong>
GHS sleutel; Past op alle bestaande cilinders in sluitplan.<br>
HS sleutel; Past op cilinders onder een bepaalde hoofdgroep.<br>
Mono sleutel; Past enkel op cilinder met specifiek cilindernummer.</strong>
</p>
<p><img src="afbeeldingen/cilinders2.jpg" width="519" height="85" alt="cilinders"></p></td>
</tr>
<tr>
<td align="center" valign="middle"><strong>Soort cilinder</strong></td>
<td align="center" valign="middle"><strong>Cilinder nummer</strong></td>
<td align="center" valign="middle"><strong>Aantal</strong></td>
<td colspan="2" align="center" valign="middle"><p><img src="afbeeldingen/maatvoering.jpg" width="105" height="48" alt="maatvoering"><strong> Maatvoering</strong></p></td>
<td width="62" align="center" valign="middle"><strong>Sluitplan nummer</strong></td>
</tr>
<tr>
<td align="left"><input name="fax31" type="text" class="textfield" id="fax31" size="10"></td>
<td align="left"><input name="fax30" type="text" class="textfield" id="fax30" size="10"></td>
<td align="left"><input name="fax29" type="text" class="textfield" id="fax29" size="10"></td>
<td lign="left"><input name="fax22" type="text" class="textfield" id="fax22" value="A" size="10"></td>
<td align="left"><input name="fax21" type="text" class="textfield" id="fax21" value="B" size="10"></td>
<td align="left"><input name="fax14" type="text" class="textfield" id="fax14" size="10"></td>
</tr>
<tr>
<td align="left"><input name="fax33" type="text" class="textfield" id="fax33" size="10"></td>
<td align="left"><input name="fax38" type="text" class="textfield" id="fax38" size="10"></td>
<td align="left"><input name="fax28" type="text" class="textfield" id="fax28" size="10"></td>
<td align="left"><input name="fax23" type="text" class="textfield" id="fax23" value="A" size="10"></td>
<td align="left"><input name="fax20" type="text" class="textfield" id="fax20" value="B" size="10"></td>
<td align="left"><input name="fax15" type="text" class="textfield" id="fax15" size="10"></td>
</tr>
<tr>
<td colspan="7" align="center">
<div id="extra003" class="CollapsiblePanel">
<div class="CollapsiblePanelTab" tabindex="0">+ Klik hier om meer cilinders toe te voegen</div>
<div class="CollapsiblePanelContent">
<table border="0" cellpadding="0" cellspacing="3" style="margin-left:-3px; margin-right:-3px;">
<tr>
<td align="left"><input name="fax33" type="text" class="textfield" id="fax33" size="10"></td>
<td align="left"><input name="fax38" type="text" class="textfield" id="fax38" size="10"></td>
<td align="left"><input name="fax28" type="text" class="textfield" id="fax28" size="10"></td>
<td align="left"><input name="fax23" type="text" class="textfield" id="fax23" value="A" size="10"></td>
<td align="left"><input name="fax20" type="text" class="textfield" id="fax20" value="B" size="10"></td>
<td align="left"><input name="fax15" type="text" class="textfield" id="fax15" size="10"></td>
</tr>
<tr>
<td align="left"><input name="fax33" type="text" class="textfield" id="fax33" size="10"></td>
<td align="left"><input name="fax38" type="text" class="textfield" id="fax38" size="10"></td>
<td align="left"><input name="fax28" type="text" class="textfield" id="fax28" size="10"></td>
<td align="left"><input name="fax23" type="text" class="textfield" id="fax23" value="A" size="10"></td>
<td align="left"><input name="fax20" type="text" class="textfield" id="fax20" value="B" size="10"></td>
<td align="left"><input name="fax15" type="text" class="textfield" id="fax15" size="10"></td>
</tr>
<tr>
<td align="left"><input name="fax33" type="text" class="textfield" id="fax33" size="10"></td>
<td align="left"><input name="fax38" type="text" class="textfield" id="fax38" size="10"></td>
<td align="left"><input name="fax28" type="text" class="textfield" id="fax28" size="10"></td>
<td align="left"><input name="fax23" type="text" class="textfield" id="fax23" value="A" size="10"></td>
<td align="left"><input name="fax20" type="text" class="textfield" id="fax20" value="B" size="10"></td>
<td align="left"><input name="fax15" type="text" class="textfield" id="fax15" size="10"></td>
</tr>
<tr>
<td align="left"><input name="fax33" type="text" class="textfield" id="fax33" size="10"></td>
<td align="left"><input name="fax38" type="text" class="textfield" id="fax38" size="10"></td>
<td align="left"><input name="fax28" type="text" class="textfield" id="fax28" size="10"></td>
<td align="left"><input name="fax23" type="text" class="textfield" id="fax23" value="A" size="10"></td>
<td align="left"><input name="fax20" type="text" class="textfield" id="fax20" value="B" size="10"></td>
<td align="left"><input name="fax15" type="text" class="textfield" id="fax15" size="10"></td>
</tr>
<tr>
<td align="left"><input name="fax33" type="text" class="textfield" id="fax33" size="10"></td>
<td align="left"><input name="fax38" type="text" class="textfield" id="fax38" size="10"></td>
<td align="left"><input name="fax28" type="text" class="textfield" id="fax28" size="10"></td>
<td align="left"><input name="fax23" type="text" class="textfield" id="fax23" value="A" size="10"></td>
<td align="left"><input name="fax20" type="text" class="textfield" id="fax20" value="B" size="10"></td>
<td align="left"><input name="fax15" type="text" class="textfield" id="fax15" size="10"></td>
</tr>
<tr>
<td align="left"><input name="fax33" type="text" class="textfield" id="fax33" size="10"></td>
<td align="left"><input name="fax38" type="text" class="textfield" id="fax38" size="10"></td>
<td align="left"><input name="fax28" type="text" class="textfield" id="fax28" size="10"></td>
<td align="left"><input name="fax23" type="text" class="textfield" id="fax23" value="A" size="10"></td>
<td align="left"><input name="fax20" type="text" class="textfield" id="fax20" value="B" size="10"></td>
<td align="left"><input name="fax15" type="text" class="textfield" id="fax15" size="10"></td>
</tr>
<tr>
<td align="left"><input name="fax33" type="text" class="textfield" id="fax33" size="10"></td>
<td align="left"><input name="fax38" type="text" class="textfield" id="fax38" size="10"></td>
<td align="left"><input name="fax28" type="text" class="textfield" id="fax28" size="10"></td>
<td align="left"><input name="fax23" type="text" class="textfield" id="fax23" value="A" size="10"></td>
<td align="left"><input name="fax20" type="text" class="textfield" id="fax20" value="B" size="10"></td>
<td align="left"><input name="fax15" type="text" class="textfield" id="fax15" size="10"></td>
</tr>
<tr>
<td align="left"><input name="fax33" type="text" class="textfield" id="fax33" size="10"></td>
<td align="left"><input name="fax38" type="text" class="textfield" id="fax38" size="10"></td>
<td align="left"><input name="fax28" type="text" class="textfield" id="fax28" size="10"></td>
<td align="left"><input name="fax23" type="text" class="textfield" id="fax23" value="A" size="10"></td>
<td align="left"><input name="fax20" type="text" class="textfield" id="fax20" value="B" size="10"></td>
<td align="left"><input name="fax15" type="text" class="textfield" id="fax15" size="10"></td>
</tr>
</table>
</div>
</div>
</td>
</tr>
<tr>
<td colspan="7" align="center"><input type="submit" value="Verzenden" name="submit" onClick="return validate();">
<input type="reset" value="Alles Wissen" name="reset"></td>
</tr>
</table>
</form>
<?php } ?>
<script type="text/javascript">
<!--
var CollapsiblePanel1 = new Spry.Widget.CollapsiblePanel("extra001", {contentIsOpen:false});
var CollapsiblePanel2 = new Spry.Widget.CollapsiblePanel("extra002", {contentIsOpen:false});
var CollapsiblePanel2 = new Spry.Widget.CollapsiblePanel("extra003", {contentIsOpen:false});
//-->

</script>
</body>
</html>


Het probleem is dat wanneer ik een mail via dit script binnen krijg dat de html gewoon word weergegeven en niet vertaald, ik krijg de mail dus gewoon op de volgende manier binnen:

<table cellspacing="0" cellpadding="8" border="0" width="400">
<tr>
<td colspan="2"></td>
</tr>
<tr bgcolor="#eeeeee">
<td style="font-family:Verdana, Arial; font-size:11px; color:#333333;"><strong>Name</strong></td>
<td style="font-family:Verdana, Arial; font-size:11px; color:#333333;">Lennart</td>
</tr>
<tr><td colspan="2" style="padding:0px;"><img src="images/whitespace.gif" alt="" width="100%" height="1" /></td></tr>
<tr bgcolor="#eeeeee">
<td style="font-family:Verdana, Arial; font-size:11px; color:#333333;"><strong>Address</strong></td>
<td style="font-family:Verdana, Arial; font-size:11px; color:#333333;">[email protected]</td>
</tr>
<td colspan="2" style="padding:0px;"><img src="images/whitespace.gif" alt="" width="100%" height="1" /></td></tr>
</table>


Met de attachments heb ik geen problemen, deze komen prima binnen zonder fouten.

Ik hoop dat iemand ziet wat ik fout doe en dit aan mij kan vertellen.

Thanks!
Beperk je tot relevante code en gaat ook niet opnieuw het wiel uitvinden. Bekijk eens of je een mail-class:
- php mailer
- swift mailer
kunt implementeren, dan kan het bijna niet fout gaan.

Dit is flip-flap-flop code. Je mag zelf de werkelijke betekenis er aan hangen.
Noppes Homeland op 04/07/2011 18:38:07

Beperk je tot relevante code en gaat ook niet opnieuw het wiel uitvinden. Bekijk eens of je een mail-class:
- php mailer
- swift mailer
kunt implementeren, dan kan het bijna niet fout gaan.

Dit is flip-flap-flop code. Je mag zelf de werkelijke betekenis er aan hangen.


Dit dus.
Pas verder op met php_self.
Formulieren horen niet in tabellen te zitten.
Inline css is slecht.
Bedankt voor de reacties, ik heb jullie advies opgevolgd en PHPmailer gebruikt.

De mail komt nu netjes binnen met de attachments op hun plaats.

Het enigste probleem is dat de attachments omgezet zijn naar .bin files, terwijl het een .jpg foto en een .pdf document waren.

Dit is de code die de mail nu verstuurd:

require("phpmailer.inc.php");

$mail = new phpmailer;

//$mail->IsSMTP(); // set mailer to use SMTP
$mail->From = "$fromemail";
$mail->FromName = "$fromname";
$mail->Host = "smtp1.site.com;smtp2.site.com"; // specify main and backup server
$mail->AddAddress("[email protected]", "Lennart Duivenvoorde");
$mail->WordWrap = 50; // set word wrap
$mail->AddAttachment("$file1"); // add attachments
$mail->AddAttachment("$file2");

$mail->IsHTML(true); // set email format to HTML
$mail->Subject = "Sleutel/Cilinder Bestelformulier";
$mail->Body = '<table cellspacing="0" cellpadding="8" border="0" width="400">
<tr>
<td colspan="2"></td>
</tr>
<tr bgcolor="#eeeeee">
<td style="font-family:Verdana, Arial; font-size:11px; color:#333333;"><strong>Name</strong></td>
<td style="font-family:Verdana, Arial; font-size:11px; color:#333333;">'.$fromname.'</td>
</tr>
<tr><td colspan="2" style="padding:0px;"><img src="images/whitespace.gif" alt="" width="100%" height="1" /></td></tr>
<tr bgcolor="#eeeeee">
<td style="font-family:Verdana, Arial; font-size:11px; color:#333333;"><strong>Address</strong></td>
<td style="font-family:Verdana, Arial; font-size:11px; color:#333333;">'.$fromemail.'</td>
</tr>
<td colspan="2" style="padding:0px;"><img src="images/whitespace.gif" alt="" width="100%" height="1" /></td></tr>
</table>';
$mail->Send(); // send message


En dit is de PHPmailer die ik gebruikt heb:

http://phpmailer.worxware.com/

Reageren