Mailscript stuurt html tekst naar mail

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Lennart Duivenvoorde

Lennart Duivenvoorde

04/07/2011 16:59:00
Quote Anchor link
Hallo iedereen, ik heb een mailscript gemaakt zodat mensen mij 2 attachments kunnen sturen samen met wat algemene informatie:

Quote:
<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">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<?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="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?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>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?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:

Quote:
<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!
 
PHP hulp

PHP hulp

19/04/2024 17:04:20
 
Noppes Homeland

Noppes Homeland

04/07/2011 18:38:07
Quote Anchor link
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.
 
Obelix Idefix

Obelix Idefix

04/07/2011 18:38:16
Quote Anchor link
Bij voorkeur alleen relevante code en dan tussen code-tags.

Controleer of je de headers wel juist hebt (http://phpwiki.santhe.nl/index.php/De_juiste_mailheaders)
Gebruik anders bv swiftmailer of php mailer
Gewijzigd op 04/07/2011 18:41:29 door Obelix Idefix
 

04/07/2011 20:10:45
Quote Anchor link
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.
 
Lennart Duivenvoorde

Lennart Duivenvoorde

05/07/2011 10:58:32
Quote Anchor link
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:

Quote:
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/
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.