 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
04.07.2008, 19:26
|
#1
|
|
TP-Insider
Registriert seit: Jul 2004
Ort: Stuttgart
|
problem mit mail funktion
hi,
ich verwende in einem meiner projekte für den mailversand die htmlMimeMail klasse. die (html)mail wird auch sauber übergeben, allerdings bekomme ich die gleich zwei mal obwohl die funktion nur ein mal aufgerufen wird. ich hab das ganze system auf dem kopf gestellt, aber finde nichts das auf ein problem aufweist.
probehalber habe ich dann direkt die mail funktion aufgerufen, und diese schickt die mail auch zwei mal. ich suche jetzt schon verzweifelt seit stunden nach den problem, aber finde wirklich nichts. vielleicht hat ja schon jemand das gleiche problem und weiß eine lösung?
hier der header und anfang der mail falls wichtig:
Code:
Return-path: <xxxx@arcor.de>
Envelope-to: xxxxxxxxxxx
Delivery-date: Fri, 04 Jul 2008 19:23:52 +0200
Received: from mail-in-04.arcor-online.net ([151.189.21.44]:33113)
by zeus.alsoisp.net with esmtps (TLSv1:AES256-SHA:256)
(Exim 4.69)
(envelope-from <xxxx@arcor.de>)
id 1KEp0i-0007pW-Lq
for xxxxxxxxxxx; Fri, 04 Jul 2008 19:23:52 +0200
Received: from mail-in-04-z2.arcor-online.net (mail-in-04-z2.arcor-online.net [151.189.8.16])
by mail-in-04.arcor-online.net (Postfix) with ESMTP id 24AC217F53C
for <xxxxxxxxxxx>; Fri, 4 Jul 2008 19:23:48 +0200 (CEST)
Received: from mail-in-12.arcor-online.net (mail-in-12.arcor-online.net [151.189.21.52])
by mail-in-04-z2.arcor-online.net (Postfix) with ESMTP id 0EB70ABB7A
for <xxxxxxxxxxx>; Fri, 4 Jul 2008 19:23:48 +0200 (CEST)
Received: from joe-180394da4c2 (dslb-084-056-175-002.pools.arcor-ip.net [84.56.175.2])
by mail-in-12.arcor-online.net (Postfix) with SMTP id EEF3B8C464
for <xxxxxxxxxxx>; Fri, 4 Jul 2008 19:23:46 +0200 (CEST)
Date: Fri, 04 Jul 2008 19:22:15 +0200
Subject: Bestellung xxxxxxxxxxx-Shop
To: xxxxxxxxxxx
MIME-Version: 1.0
From: bestellung@xxxxxxxxxxx.de
Content-Type: multipart/alternative;
boundary="=_70f5cf8272c2cf9d305b3760f37d93eb"
Message-ID: <k3hs93.7pr@127.0.0.1>
X-Virus-Scanned: ClamAV 0.93/7407/Mon Jun 9 04:21:00 2008 on mail-in-12.arcor-online.net
X-Virus-Status: Clean
X-EsetId: 7410142B83ED32312456
--=_70f5cf8272c2cf9d305b3760f37d93eb
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
text/html
--=_70f5cf8272c2cf9d305b3760f37d93eb
Content-Type: text/html; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
<html>
<head>
<meta http-equiv=3D'Content-Type' content=3D'text/html; charset=3Diso-88=
59-1'>
<style>
|
|
|
05.07.2008, 05:42
|
#2
|
|
TP-Moderator
Registriert seit: Aug 2004
Ort: Kaiserslautern
|
Zitat:
Zitat von joextra
probehalber habe ich dann direkt die mail funktion aufgerufen, und diese schickt die mail auch zwei mal.
|
Wenn das Verhalten generell im Zusammenhang mit mail() auftritt, solltest Du besser mal den Provider fragen, weil ich stark bezweifle, dass in so einem Fall jemand von hier helfen kann.
Ansonsten wäre es auch sinnvoller den Code zu posten der das Formular verarbeitet, die Klasse anspricht und die Mail verschickt und nicht die Mail die letztendlich ankommt.
Oder bringst Du auch deinen Reifen in die Werkstatt und sagst dem Mechaniker "Mein Auto springt nicht an und bewegt sich nicht vorwärts, deswegen habe ich mal den Reifen mitgebracht, vielleicht erkennen Sie ja daran an was es liegt."
Wie im Header auch zu sehen ist, werden verschiedene Content-Types benutzt, da ist von Mail Anhang über HTML bis Plain Text alles dabei - das kann ja wohl kaum normal sein.
__________________
#.Viele Grüße, Andreas
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
.
|
|
|
05.07.2008, 11:13
|
#3
|
|
TP-Insider
Registriert seit: Jul 2004
Ort: Stuttgart
|
am provider wirds nicht liegen. sowohl lokal als auch online habe ich das phänomen. außerdem passiert das nur an dieser stelle. bei anderen email versand, gibt es keine probleme. ich habe bemerkt, das wenn ich z.b. die obere hälfte des codes weg kommentiere, wird bei jeden zweiten versand nur eine mail verschickt. echt komisch.
mit den header hast du schon recht. sieht etwas komisch aus, wenn man den mit anderen mails vergleicht.
hier noch der code. ist im prinzip einfaches html das aufgebaut und versendet wird.
PHP-Code:
<?
if($orderIt != "") {
include_once("libraries/htmlMimeMail.php");
$mail = new htmlMimeMail();
$mail->setFrom("bestellung@xxxx.de");
$mail->setSubject("Bestellung xxxx-Shop");
$imprintArray = $database->readObject("shop_imprint");
$imprint = '<table width="750" style="line-height:20px;" cellpadding="3" cellspacing="0">
<tr height="25">
<td >
</td>
</tr>
<tr>
<td valign="top" height="50">'.
$imprintArray[0]["imprint"].
'</td>
</tr>
</table>';
if($addToCart != "") {
$class = $class1 = "cartItemsBG1";
$class2 = "cartItemsBG2";
$colorChange = 1;
foreach($addToCart as $key => $value) {
$totalPrice += $value[price] * $value[quantity];
$ITEMS .= "<tr class='$class'>
<td>
</td>
<td>
$value[productName]
</td>
<td align='center'>";
if($value["size"] != "") { $ITEMS .= $value["size"]; } else { $ITEMS .= "-"; }
$ITEMS .= " / ";
if($value["color"] != "") { $ITEMS .= $value["color"]; } else { $ITEMS .= "-"; }
$ITEMS .= "</td>
<td align='center'>
$value[quantity]
</td>
<td align='right'>
$value[price] EUR
</td>
<td align='right'>".
str_replace(".", ",", (str_replace(",", ".", $value["price"]) * $value["quantity"]))." EUR
</td>
</tr>";
if($colorChange == 2) {
$colorChange = 1;
$class = $class1;
} else {
$colorChange = 2;
$class = $class2;
}
$ITEMS .= "<tr>
<td colspan='6' style='height:1px; margin:0; padding:0; background-color:#666666'></td>
</tr>";
}
}
$ITEMS .= "<tr style='line-height:20px;'>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td style='color:#FF0000'>
Summe
</td>
<td align='right' style='color:#FF0000'>".
number_format($totalPrice, 2, ',', '')." EUR
</td>
</tr>
<tr style='line-height:20px;'>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td style='color:#FF0000'>
zzgl. Versandkosten ";
if($dispatchType == 2) { $ITEMS .= "<br />(Nachnahme) "; }
$ITEMS .= "</td>
<td align='right' valign='top' style='color:#FF0000'>";
if($dispatchType == 1) { $ITEMS .= "5,95 EUR"; $totalPrice += 5.95; }
if($dispatchType == 2) { $ITEMS .= "6,50 EUR"; $totalPrice += 6.50; }
$ITEMS .= "</td>
</tr>
<tr style='line-height:20px;'>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td style='color:#FF0000'>
Gesamtsumme
</td>
<td align='right' style='color:#FF0000'>".
number_format($totalPrice, 2, ',', '')." EUR
</td>
</tr>";
$totalPrice = number_format($totalPrice, 2, ',', '');
function emailText($ITEMS, $totalPrice, $imprint = "") {
extract(sessionGetVar('adressArray'));
$charset = "iso-8859-1";
$HTML = "<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=$charset'>
<style>
table, td {
font-family:Verdana, Arial, Helvetica;
font-size: 10px;
}
.cartItems {
background-color:#FFDC0B;
line-height:20px;
}
.cartItemsBG1 {
background-color:#F3F3F3;
line-height:20px;
}
.cartItemsBG2 {
background-color:#FFF8CC;
line-height:20px;
}
</style>
</head>
<body style='font-family:Verdana, Arial, Helvetica, sans-serif; font-size: 10px;'>
<table width='750' style='line-height:20px;' cellpadding='3' cellspacing='0'>
<tr>
<td colspan='2' valign='top' height='50'>
<strong>Bestellungbestätigung</strong>
</td>
</tr>
<tr>
<td colspan='2'>
<font color='#FF0000'>Kundendaten:</font>
</td>
</tr>
<tr>
<td width='130'>
Vorname
</td>
<td>
$name
</td>
</tr>
<tr>
<td>
Nachname
</td>
<td>
$surname
</td>
</tr>
<tr>
<td>
E-Mail
</td>
<td>
$email
</td>
</tr>
<tr>
<td>
Strasse, Nr.
</td>
<td>
$street $streetNo
</td>
</tr>
<tr>
<td>
PLZ, Ort
</td>
<td>
$zip $place
</td>
</tr>
<tr>
<td valign='top'>
Versandart
</td>
<td>";
if($dispatchType == 1) { $HTML .= "Vorkasse/Überweisung"; } else { $HTML .= "Nachnahme"; }
$HTML .= "</td>
</tr>
<tr height='25' valign='bottom'>
<td colspan='2'>
</td>
</tr>
</table>
<table width='750' cellpadding='3' cellspacing='0'>
<tr>
<td colspan='6' valign='top' height='50'>
<font color='#FF0000'>Bestellte Artikel:</font>
</td>
</tr>
<tr>
<td>
</td>
<td width='150'>
Artikel
</td>
<td align='center' width='60'>
Größe/Farbe
</td>
<td align='center' width='60'>
Menge
</td>
<td align='right'>
Einzelpreis
</td>
<td align='right'>
Gesamtpreis
</td>
</tr>
$ITEMS
<tr>
<td colspan='5' height='3' bgcolor='#FFFFFF'></td>
</tr>
</table>
$imprint
</body>
</html>";
return $HTML;
}
$mail->setHTML(utf8_decode(emailText($ITEMS, $totalPrice, $imprint)), "text/html");
$mail->send(array($email));
}?>
|
|
|
05.07.2008, 12:40
|
#4
|
|
TP-Greis
Registriert seit: Mar 2001
Ort: Berlin, Germany
|
Nun, das hier:
$mail->send(array($email));
Schickt die Email 1x an alle angegebenen Empänger - was steht denn bei $email genau drin? Nur eine einzige Email-Adresse?
__________________
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
|
|
|
05.07.2008, 13:03
|
#5
|
|
TP-Insider
Registriert seit: Jul 2004
Ort: Stuttgart
|
die email muss man bei htmlMimeMail als array übergeben. und da steht natürlich nur eine mail drin. das hab ich als erstes überprüft ;-)
wie schon geschrieben, die mail wird wirklich nur ein mal übertragen. das hab ich 10000000 mal überprüft. mein problem ist halt das die zwei mal ankommt, was aber nicht sein sollte.
|
|
|
09.07.2008, 23:10
|
#6
|
|
TP-Insider
Registriert seit: Jul 2004
Ort: Stuttgart
|
hat sonst keiner eine idee? ich schlage mich schon ewig mit dem problem aber finde nichts was auf dieses problem hinweisen könnte. ich bin echt ratlos 
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 01:16 Uhr.
|
 |