Hallo Forum,
ich habe die Betreuung einer Webseite übernommen, in die ich mich gerade einarbeite. Bei der Seite handelt es sich um eine selbstgestrickte Webseite incl. Shop.
Leider konnte ich den Inhaber der Seite noch nicht überzeugen, ein CMS-System zu nutzen.
Nun stehe ich vor meinem ersten großen Problem...
Ich muss der vorhandenen Mail-Funktion nun ein fertiges PDF mit übergeben, und bekomme es leider nicht hin, den Anhang mitzusenden...
Hier der Code aus der benutzten PHP-Datei:
PHP-Code:
<?
$a = $HTTP_POST_VARS;
$orderid = date("ymd-His");
$DateinameMail = "/verzeichnis/Dateiname.pdf";
$h = fopen("./verzeichnis/Dateiname.pdf", 'rb');
$filecontents = fread($h, filesize("./verzeichnis/Dateiname.pdf"));
$Trenner = md5(uniqid(time()));
$Header = "From: mail@domain.de\n";
$Header .= "MIME-Version: 1.0\n";
$Header .= "Content-Type: multipart/mixed; boundary=$Trenner\n";
$mail = "This is a multi-part message in MIME format\n";
$mail .= "--$Trenner\n";
$mail .= "Content-Type: text/html; charset=UTF-8\n";
$mail .= "Content-Transfer-Encoding: 8bit\n\n";
$mail .= $mail_content."\n";
$mail .= "--$Trenner\n";
$mail .= "Content-Type: application/pdf; name=$DateinameMail\n";
$mail .= "Content-Transfer-Encoding: base64\n";
$mail .= "Content-Disposition: attachment; ".
"filename=$DateinameMail\n\n";
$mail .= chunk_split(base64_encode($filecontents));
$mail .= "\n";
$mail .= "--$Trenner--";
$header = "<html>\n<head>\n<title>Bestellung</title>\n";
$header .= "<style type='text/css'>\n";
$header .= "body {background-color:white;font-family:arial;color:black;font-size:8pt;}\n";
$header .= "p,td,a {font-family:arial;color:black;font-size:8pt;}\n";
$header .= "a {color:darkblue; }\n";
$header .= "table {width:100%;}\n";
$header .= "th {font-family:arial;color:black;font-size:10pt;font-weight:bold;text-align:left;border:0px;solid black; border-bottom:1px solid black;}\n";
$header .= ".pagetitle { font-size:10pt; font-weight:bold; background-color:slategray; padding:2px; border:1px solid black; color:white; }\n";
$header .= "</style>\n</head>\n";
$header .= "<body>\n";
$userheader = "<p class='pagetitle'>Vielen Dank für ihre Bestellung !</p>\n";
$userheader .= "<p>Hier finden sie alle Angaben bzgl. ihrer Bestellung.<br>\n";
$userheader .= "Bitte überprüfen sie alle Angaben und melden sie sich bitte, wenn irgendetwas nicht korrekt sein sollte !<br>\n";
$userheader .= "Unsere Kontaktanschrift finden sie am Ende dieses Mails.<br>\n";
$userheader .= "Bitte geben sie bei Anfragen immer diese Bestell - ID an: <b>$orderid</b></p>\n";
$pageheader = "<link rel=\"stylesheet\" type=\"text/css\" href=\"../styles/main.css\" />\n";
$pageheader .= "<p class='pagetitle'>Vielen Dank für ihre Bestellung !</p>\n";
$pageheader .= "<p>Ihre Bestellung ist soeben an uns übermittelt worden.</p>\n";
$pageheader .= "<p>Sie sollten in wenigen Minuten ein Bestätigungsmail von uns erhalten.<br>\n";
$pageheader .= "Dort finden sie alle Informationen, die sie hier sehen noch einmal aufgelistet.</p>\n";
$pageheader .= "<p>Bitte überprüfen sie alle Angaben und melden sie sich bitte, wenn irgendetwas nicht korrekt sein sollte !</p>\n";
$pageheader .= "<p>Bitte geben sie bei Anfragen immer diese Bestell - ID an: <b>$orderid</b></p>\n";
$selfheader = "<p class='pagetitle'>Eine neue Bestellung ist eingetroffen !</p>\n";
$selfheader .= "<p>Die Bestell - ID ist: <b>$orderid</b></p>\n";
$baddress = "<table summary='Tabelle' border='0' cellpadding='2' cellspacing='5'>\n";
$baddress .= "<tr><th colspan='2'>Rechnungsanschrift:</th></tr>\n";
if ($Kundennummer != "")
$baddress .= "<tr><td nowrap>Kundennummer:</td><td>$Kundennummer</td></tr>\n";
if ($Firma != "")
$baddress .= "<tr><td nowrap>Firma:</td><td>$Firma</td></tr>\n";
$baddress .= "<tr><td nowrap>Nachname:</td><td style='width:100%'>$Name</td></tr>\n";
$baddress .= "<tr><td nowrap>Vorname:</td><td>$Vorname</td></tr>\n";
$baddress .= "<tr><td nowrap>Straße:</td><td>$Strasse1</td></tr>\n";
if ($Strasse2 != "")
$baddress .= "<tr><td nowrap>Straße Zeile 2:</td><td>$Strasse2</td></tr>\n";
if ($Strasse3 != "")
$baddress .= "<tr><td nowrap>Straße Zeile 3:</td><td>$Strasse3</td></tr>\n";
$baddress .= "<tr><td nowrap>PLZ - Ort:</td><td>$PLZ - $Ort</td></tr>\n";
if ($Land != "")
$baddress .= "<tr><td nowrap>Land:</td><td>$Land</td></tr>\n";
if ($Telefon != "")
$baddress .= "<tr><td nowrap>Telefon:</td><td>$Telefon</td></tr>\n";
if ($Telefax != "")
$baddress .= "<tr><td nowrap>Telefax:</td><td>$Telefax</td></tr>\n";
if ($Email != "")
$baddress .= "<tr><td nowrap>Email:</td><td>$Email</td></tr>\n";
$baddress .= "<tr><td colspan='2' style='border-top:1px solid black;'> </td></tr>\n";
$baddress .= "</table>\n";
$laddress = "";
if ($Liefer_Name != "") {
$laddress = "<table summary='Tabelle' border='0' cellpadding='2' cellspacing='5'>\n";
$laddress .= "<tr><th colspan='2'>Lieferanschrift:</th></tr>\n";
$laddress .= "<tr><td nowrap>Nachname:</td><td style='width:100%'>$Liefer_Name</td></tr>\n";
$laddress .= "<tr><td nowrap>Vorname:</td><td>$Liefer_Vorname</td></tr>\n";
$laddress .= "<tr><td nowrap>Straße:</td><td>$Liefer_Strasse1</td></tr>\n";
if ($Liefer_Strasse2 != "")
$laddress .= "<tr><td nowrap>Straße Zeile 2:</td><td>$Liefer_Strasse2</td></tr>\n";
if ($Liefer_Strasse3 != "")
$laddress .= "<tr><td nowrap>Straße Zeile 3:</td><td>$Liefer_Strasse3</td></tr>\n";
$laddress .= "<tr><td nowrap>PLZ - Ort:</td><td>$Liefer_PLZ - $Liefer_Ort</td></tr>\n";
if ($Liefer_Land != "")
$laddress .= "<tr><td nowrap>Land:</td><td>$Liefer_Land</td></tr>\n";
$laddress .= "<tr><td colspan='2' style='border-top:1px solid black;'> </td></tr>\n";
$laddress .= "</table>\n";
}
$bankdata = "";
if (isset($Bank)) {
$bankdata .= "<table summary='Tabelle' border='0' cellpadding='2' cellspacing='5'>\n";
$bankdata .= "<tr><th colspan='2'>Bankdaten:</th></tr>\n";
$bankdata .= "<tr><td nowrap>Bank:</td><td width='100%'>$Bank</td></tr>\n";
$bankdata .= "<tr><td nowrap>Kontonummer:</td><td>$Kontonummer</td></tr>\n";
$bankdata .= "<tr><td nowrap>BLZ:</td><td>$BLZ</td></tr>\n";
$bankdata .= "<tr><td nowrap>Kontoinhaber:</td><td>$Kontoinhaber</td></tr>\n";
$bankdata .= "<tr><td colspan='2' style='border-top:1px solid black;'> </td></tr>\n";
$bankdata .= "</table>\n";
}
$carddata = "";
if (isset($Kartentyp)) {
$bankdata .= "<table summary='Tabelle' border='0' cellpadding='2' cellspacing='5'>\n";
$bankdata .= "<tr><th colspan='2'>Kreditkarte:</th></tr>\n";
$bankdata .= "<tr><td nowrap>Karte:</td><td width='100%'>$Kartentyp</td></tr>\n";
$bankdata .= "<tr><td nowrap>Kartennummer:</td><td>$Kartennummer</td></tr>\n";
$bankdata .= "<tr><td nowrap>Vierstellige Kartenpin:</td><td>$PIN</td></tr>\n";
$bankdata .= "<tr><td nowrap>Ablaufdatum (MM / YYYY):</td><td>$Ablaufdatum_Monat / $Ablaufdatum_Jahr</td></tr>\n";
$bankdata .= "<tr><td colspan='2' style='border-top:1px solid black;'> </td></tr>\n";
$bankdata .= "</table>\n";
}
$items = "<table summary='Tabelle' border='0' cellpadding='5' cellspacing='0'>\n";
$items .= "<tr>\n<th colspan='4'>Artikeldaten</th></tr>\n";
$items .= "<tr>\n<td nowrap width='75' style='padding-left:10px;padding-right:10px;font-size:10pt;font-weight:bold;border-right:1px solid black;border-bottom:1px solid black;border-left:1px solid dimgray;background-color:lightgrey;'>Anzahl</td>\n";
$items .= "<td width='100%' style='font-size:10pt;font-weight:bold;border-right:1px solid black;border-bottom:1px solid black;background-color:lightgrey;'>Artikel</td>\n";
$items .= "<td nowrap style='padding-left:10px;padding-right:10px;font-size:10pt;font-weight:bold;border-right:1px solid black;border-bottom:1px solid black;background-color:lightgrey;'>E. - Preis</td>\n";
$items .= "<td nowrap style='padding-left:10px;padding-right:10px;font-size:10pt;font-weight:bold;border-bottom:1px solid black;background-color:lightgrey;border-right:1px solid dimgray;'>G. - Preis</td></tr>\n";
while (list($key, $val) = each($a)) {
$itemstd = '';
$pos = strstr($key, "Anzahl_");
if ($pos != false) {
$items .= "<tr>\n<td nowrap align='center' valign='top' style='border-left:1px solid dimgray;border-right:1px solid dimgray'>$val</td>\n"; }
$pos = strstr($key, "Artikel_");
if ($pos != false) {
$itemstd = "<td valign='top' style='border-right:1px solid dimgray'><b>$val</b>\n"; }
$pos = strstr($key, "Nummer_");
if ($pos != false) {
$itemstd .= "<br>Artikelnummer: $val\n"; }
$pos = strstr($key, "Varianten_");
if ($pos != false) {
if ($val != "") {
$itemstd .= "<br>Varianten: $val\n"; }}
$pos = strstr($key, "Text_");
if ($pos != false) {
if ($val != "") {
$itemstd .= "<br>Text: $val</td>\n";}
else {
$itemstd .= "</td>\n"; }}
$items .= $itemstd;
$pos = strstr($key, "Einzelpreis_");
if ($pos != false) {
$items .= "<td nowrap align='right' valign='top' style='border-right:1px solid dimgray'>$val EUR</td>\n"; }
$pos = strstr($key, "Gesamtpreis_");
if ($pos != false) {
$items .= "<td nowrap align='right' valign='top' style='border-right:1px solid dimgray;'>$val EUR</td>\n"; }
$pos = strstr($key, "Ende_");
if ($pos != false) {
$items .= "</tr>\n"; }
if ($key == "Zwischensumme") {
$items .= "<tr>\n<td colspan='3' align='right' style='border-top:1px solid black;'>Zwischensumme:</td>\n<td align='right' style='border-top:1px solid black;' nowrap><b>$val EUR</b></td></tr>\n"; }
if ($key == "Rabatte") {
if ($val != "0.00") {
$items .= "<tr>\n<td colspan='3' align='right'>Rabatte:</td>\n<td align='right' nowrap><b>$val EUR</b></td></tr>\n"; }}
if ($key == "Versandkosten") {
if ($val != "0.00") {
$items .= "<tr>\n<td colspan='3' align='right'>Versandkosten:</td>\n<td align='right' nowrap><b>$val EUR</b></td></tr>\n"; }}
if ($key == "Zahlungsweise") {
$items .= "<tr>\n<td colspan='3' align='right'>$val</td>\n"; }
if ($key == "Zahlungspreis") {
$items .= "<td align='right' nowrap><b>$val EUR</b></td></tr>\n"; }
if ($key == "Gesamtsumme") {
$items .= "<tr>\n<td colspan='3' align='right' style='border-top:1px solid black;'><b>Zu zahlender Betrag:</b></td>\n<td align='right' nowrap style='border-top:1px solid black;'><b>$val EUR</b></td></tr>\n"; }
}
$items .= "</table>";
$userfooter = "<br><b>Bitte beachten Sie, dass wir zuerst die Verfügbarkeit der bestellten Artikel prüfen und ihnen dann detailierte Zahlungsinformationen zukommen lassen. </b>\n";
$userfooter .= "<p>Laut Ferabsatzgesetz sind wir dazu verpflichtet, Sie zu informieren, dass sie ein 14 tägiges Rückgaberecht besitzen.<br>\n";
$userfooter .= "Bitte beachten Sie hierzu ihr Widerrufsrecht, welches Sie in
unseren AGB´s unter Punkt 10 finden.</p>\n";
$userfooter .= "<hr noshade>\n";
$userfooter .= "<p>\nSpielwaren Mondenkind Bianca Petrak<br><br>\n";
$userfooter .= "Hagener Straße 54<br>\n";
$userfooter .= "D - 58642 Iserlohn - LETMATHE<br><br>\n";
$userfooter .= "Telefon: 02374 / 169990<br>\n";
$userfooter .= "<br>";
$userfooter .= "Internet: <a href='http://www.mondenkind.de'>http://www.mondenkind.de</a><br>\n";
$userfooter .= "Email: <a href='mailto:support@mondenkind.de'>support@mondenkind.de</a>\n";
$userfooter .= "</body>\n</html>";
$pagefooter = "<br><b>Bitte beachten Sie, dass wir zuerst die Verfügbarkeit der bestellten Artikel prüfen und ihnen dann detailierte Zahlungsinformationen zukommen lassen. </b>\n";
$pagefooter .= "<p>Laut Fernabsatzgesetz sind wir dazu verpflichtet, sie zu informieren, dass sie ein 14 tägiges Rückgaberecht besitzen.<br>\n";
$pagefooter .= "Sie können die Artikel innerhalb dieses Zeitraums jederzeit an uns zurücksenden.</p>\n";
$pagefooter .= "<p><a href='../home.php' target='_top'>Hier geht es zurück</a></p>\n";
$pagefooter .= "</body>\n</html>";
$mail_content = $header.$userheader.$baddress.$laddress.$bankdata.$carddata.$items.$userfooter;
$selfmessage = $header.$selfheader.$baddress.$laddress.$bankdata.$carddata.$items;
$pagemessage = $header.$pageheader.$baddress.$laddress.$bankdata.$carddata.$items.$pagefooter;
$mymail = "FROM: support@domain.de";
$mysubject = "Eine neue Bestellung ist eingetroffen. Nummer: $orderid";
$usersubject = "Ihre Bestellung Nummer $orderid";
mail("support@domain.de", "$mysubject", "$selfmessage", "FROM: $Email\nContent-Type: text/html; charset=iso-8859-1");
mail("$Email", "$usersubject", "", "$mail", "$Header", "$mymail\nContent-Type: text/html; charset=iso-8859-1");
echo "$pagemessage";
?> Ich verstehe zwar ein wenig von PHP nur leider überragt das Script meine bisherigen Fähigkeiten.
Ich kann einfach den Fehler nicht finden...
Vielen Dank im Voraus,
phyton2706