| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

09-02-2010, 10:33
|
|
lippo
Registrierter Benutzer
|
|
Registriert seit: Feb 2010
Beiträge: 8
|
|
Mail To Problem, Falsche Anzeigen der email
Hallo und guten Tag,
da Niemand auf mein vorherigen Beitrag geantwortet hat, weshalb auch immer hier nun mein Problem:
Ich habe in meinem PHP-Script folgenen Code stehen:
PHP-Code:
$mailbody = ""; $mailbody = $mailbody . ("<b>$lang_continfo:</b><p></p> <table> <tr><td> $lang_firstname*: </td><td> $prename </td> <td> $lang_lastname*: </td><td> $surname </td></tr> <tr><td> $lang_street*: </td><td> $street </td> <td> $lang_streetnr*: </td><td> $streetnr </td></tr> <tr><td> $lang_citycode*: </td><td> $citycode </td> <td> $lang_city*: </td><td> $city </td></tr> <tr><td> $lang_country*: </td><td> $country </td></tr> <tr><td> $lang_telephone: </td><td> $telephone </td></tr> <tr><td> $lang_email*: </td><td> $email </td></tr> <tr><td> $lang_comment: </td><td> $comment </td></tr> </table><br>");
$mailbody = $mailbody . ("<b>$lang_shoppingcart:</b><table>"); $mailbody = $mailbody . ("<tr><td> $lang_nr </td> <td>$lang_image</td><td>   ;$lang_size </td> <td> $lang_price </td><td> $lang_quantity </td></tr>");
$config_pricesum = 0; $numsum = 0; for ($i = 0; $array[$i] != null; $i ++) { $temparray = explode("|", $array[$i]); $mailbody = $mailbody . "<tr><td>". ($i + 1) ."</td>"; $mailbody = $mailbody . "<td> $temparray[0] </td>"; $mailbody = $mailbody . "<td>$temparray[1] </td>"; include("properties.inc"); $config_pricesum = $config_pricesum + ($config_price * $temparray[2]); $numsum = $numsum + $temparray[2]; $mailbody = $mailbody . "<td>$config_price $config_currency</td>"; $mailbody = $mailbody . "<td>$temparray[2]</td>"; $mailbody = $mailbody . "</tr>"; }
$config_pricesum = $config_pricesum + $config_shiphand; $mailbody = $mailbody . ("<tr><td> </td><td> $lang_shiphand </td><td> </td><td> $config_shiphand $config_currency </td><td> </td></tr>"); $mailbody = $mailbody . ("<tr><td> </td><td> </td><td> </td><td> <b>" . number_format($config_pricesum, 2) . " $config_currency</b> </td> <td><b>$numsum</b></td></tr></table>"); $mailbody = $mailbody . ("<br>powered by Nopu.de");
$shopsubject = $lang_shopsubject . $prename . " " . $surname; $custsubject = $lang_custsubject . $config_from;
$header = "From: \"" . $config_from . "\" <" . $config_admin_email . ">\r\n"; $header .= "Reply-To: ".$config_admin_email."\r\n"; $header .= "MIME-Version: 1.0\r\n"; $header .= "Content-Type: text/html; charset=iso-8859-1\r\n"; $header .= "X-Priority: 1\r\n"; $header .= "X-Mailer: PHP / ".phpversion()."\r\n";
print("<br><b>$lang_ordersub<br><br>$lang_mailsent:</b> <br>$email $lang_and $config_admin_email<br>"); print("<br>$mailbody<br><br>");
mail("$config_admin_email", "$shopsubject", "$mailbody", "$header"); mail("$email", "$custsubject", "$mailbody", "$header"); print("</center></td></tr></table>");
----
Die eMails werden zwar versendet, nur nicht so wie es sein soll.
Die eMails die ich dann bekomme, enthalten leider den HTML-Code, werden mir aber nicht,
wie es sein soll als HTML Seite in meinem eMail-Programm angezeigt.
Sondern nur so:
HTML-Code:
Reply-To: lip@pic.biz
MIME-Version: 1.0
Content-Type: text/html; charset=iso-8859-1
X-Priority: 1
X-Mailer: PHP / 5.2.11
Message-Id: <20100209090956.77AD121FC389@server105.star-server.info>
Date: Tue, 9 Feb 2010 10:09:56 +0100 (CET)
X-UIDL: %(a"!(m/"!p7##!(n@!!
X-Antivirus: avast! (VPS 100208-2, 08.02.2010), Inbound message
X-Antivirus-Status: Clean
<b>Kontaktinformation:</b><p></p>
<table>
<tr><td> Vorname*: </td><td> Jens </td>
<td> Nachname*: </td><td> Meier </td></tr>
<tr><td> Strasse*: </td><td> alter Hase </td>
<td> Hausnummer*: </td><td> 100 </td></tr>
<tr><td> PLZ*: </td><td> 65972 </td>
<td> Ort*: </td><td> Otthausen </td></tr>
<tr><td> Land*: </td><td> Deutschland </td></tr>
<tr><td> Telefon: </td><td> 08154711 </td></tr>
<tr><td> Email Adresse*: </td><td> lip@pic.biz </td></tr>
<tr><td> Kommentar: </td><td> </td></tr>
</table><br><b>Warenkorb:</b><table><tr><td> Nr. </td>
<td>Bild</td><td> Abzug </td>
<td> Preis </td><td> Anzahl
</td></tr><tr><td>1</td><td> ./2_Animals/Zoo Cologne (Germany)/koe_IMG_6236.jpg
</td><td>9x13 </td><td>4.29 Euro</td><td>1</td></tr><tr><td> </td>
<td> Versandkosten </td><td> </td><td> 1.19 Euro </td>
<td> </td></tr><tr><td>
</td><td> </td><td> </td><td> <b>5.48 Euro</b> </td><td><b>1</b></td>
</tr></table><br>powered by pic.biz
Ich weis nicht wo da der Fehler ist.
MFG
Geändert von lippo (09-02-2010 um 11:29 Uhr)
|

09-02-2010, 10:50
|
|
prego
PHP Senior
|
|
Registriert seit: May 2005
Ort: Hey ropp, hinne riwwer unn wirrer zuricke!
Beiträge: 1.602
|
|
1. Brich bitte deinen Code um, seitwärts scrollen wir hier nicht gerne gesehen...
2.
PHP-Code:
mail("$config_admin_email", "$shopsubject", "$mailbody", "$header"); mail("$email", "$custsubject", "$mailbody", "$header");
Bitte warum hast du Anführungszeichen um deine Variablen?
3. Poste bitte mail die Ausgabe von $mailbody.
__________________
so long, der-p | 72dpi-club
Microsoft IE-Manager Dean Hachamovitch bei der Vorführung des IE7 Beta Preview 2 am 20.3.2006:
"Wir hatten mit IE ganz offensichtlich was verschlafen."
|

09-02-2010, 11:09
|
|
lippo
Registrierter Benutzer
|
|
Registriert seit: Feb 2010
Beiträge: 8
|
|
Warum ich die Variablen in Anführungszeichen gesetzt habe weis ich nicht mehr. aber nur so habe ich das hinbekommen.
Ich denke du meinst das hier,
PHP-Code:
// If one required information field is still empty else if (($prename == "" || $surname == "" || $street == "" || $streetnr == "" || $citycode == "" || $city == "" || $country == "" || $email == "") && $cookiestring != "") { print("</td></tr><tr><td colspan=3><center>"); print("<center><br><b>$lang_shoppingcart:</b><p></p><table class=\"shop\">"); print("<tr><td> $lang_nr </td><td>$lang_image</td> <td> $lang_size </td><td> $lang_price </td><td> $lang_quantity </td> <td> $lang_action </td></tr>"); $shiphand = 0; $config_pricesum = 0; $numsum = 0;
for ($i = 0; $array[$i] != null; $i ++) { $temparray = explode("|", $array[$i]); print("<tr><td>". ($i + 1) ."</td>"); print("<td> $temparray[3] <br><img border=1 height=80 src=\"" . ($temparray[0]) . "\"><p></p></td>"); print("<td>$temparray[1]</td>"); include("properties.inc"); $config_pricesum = $config_pricesum + ($config_price * $temparray[2]); $numsum = $numsum + $temparray[2]; print("<td>$config_price $config_currency</td>"); print("<td>$temparray[2]</td>"); print("<td> <a href=\"" . $_SERVER["PHP_SELF"]."?path=$path&show=$show&delete=" . ($i+1) . "\">[$lang_remove]</a> </td></tr>"); } $config_pricesum = $config_pricesum + $config_shiphand; print("<tr><td> </td><td> $lang_shiphand </td><td> </td><td> $config_shiphand $config_currency </td><td> </td> <td> </td></tr>"); print("<tr><td> </td><td> </td><td> </td><td> <b>" . number_format($config_pricesum, 2) . " $config_currency</b> </td><td><b>$numsum</b></td> <td><b><a href=\"" . $_SERVER["PHP_SELF"]."?path=$path&show=$show&delete=all\"> [$lang_removeall] </a> </b></td></tr>"); print("</table></center><br><br>"); print("</td></tr>"); print("<tr><td colspan=3><center>"); print ("<br><b>$lang_submitorder:</b><p></p> <form action=\"" . $_SERVER["PHP_SELF"] . "?path=$path&show=$show\" method=\"post\">"); ?>
Ich könnte es zwar umschreiben, das es nicht als HTML versendet wird, aber das will ich nicht.
Es soll ja eigendlich so sein, das ich im eMail-Programm, falls keine HTML-Mails angezeigt werden, es dann als Text aber Ohne das mir der HTML-Code angezeigt wird, angezeigt wird.
Geändert von lippo (09-02-2010 um 11:43 Uhr)
|

09-02-2010, 11:11
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo,
mal wieder das CRLF-Problem mit sendmail auf *NIX-Servern... Benutz mal LF statt CRLF.
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

09-02-2010, 11:14
|
|
lippo
Registrierter Benutzer
|
|
Registriert seit: Feb 2010
Beiträge: 8
|
|
ähm, Sorry aber was meinst Du mit
Ich bin in Sachen PHP nicht so gut und muss bei meinen Scripten immer alles
nach jeder eingabe neu Testen.
Sonnst kann ich hinterher nie nachvollziehen, was ich da gemacht habe.
|

09-02-2010, 11:18
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Vorschlag: Ich sag dir, was ich damit meine, wenn du endlich deinen Code umbrichst!
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

09-02-2010, 11:24
|
|
lippo
Registrierter Benutzer
|
|
Registriert seit: Feb 2010
Beiträge: 8
|
|
OK, Sorry!
Jetzt habe ich gesehen, ganz weit rechts, das ich meinen Beitrag ändern kann.
Hatte ich vorher nicht gesehen.
Jetzt sollte es aber richtig sein
Geändert von lippo (09-02-2010 um 11:31 Uhr)
|

09-02-2010, 11:31
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Ja, ganz weit rechts, rate mal, warum das so weit rechts war
CR = "carriage return" = \r
LF = "line feed" = \n
CRLF = \r\n
Unter UNIX/Linux musst du LF verwenden, weil sendmail alle LFs automatisch in CRLF umwandelt. Wenn du bereits CRLF übergibst, wird CRCRLF draus und das schubst Mailheader einfach in den Body rein.
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

09-02-2010, 11:40
|
|
lippo
Registrierter Benutzer
|
|
Registriert seit: Feb 2010
Beiträge: 8
|
|
Das heist also, das ich hier,
PHP-Code:
$header = "From: \"" . $config_from . "\" <" . $config_admin_email . ">\r\n"; $header .= "Reply-To: ".$config_admin_email."\r\n"; $header .= "MIME-Version: 1.0\r\n"; $header .= "Content-Type: text/html; charset=iso-8859-1\r\n"; $header .= "X-Priority: 1\r\n"; $header .= "X-Mailer: PHP / ".phpversion()."\r\n";
*\r\n durch *\n ersetzen muss ?
Ps. habe ich immer noch zu viele Zeichen im code? 132 anstatt 100
|

09-02-2010, 11:45
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von lippo
Das heist also, das ich hier, *\r\n durch *\n ersetzen muss ?
|
Ja.
Zitat:
Zitat von lippo
Ps. habe ich immer noch zu viele Zeichen im code? 132 anstatt 100
|
Es sind jetzt 104, das kannst du so lassen.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

09-02-2010, 12:31
|
|
lippo
Registrierter Benutzer
|
|
Registriert seit: Feb 2010
Beiträge: 8
|
|
Jetzt sieht das ganze auch so aus, wie es sein sollte.
Ich lerne immer wieder dazu.
Hab Dank für die Hilfe.
Ps.
Scripte schreiben für andere machst Du nicht zufällig ?
|

09-02-2010, 15:52
|
|
rossixx
Registrierter Benutzer
|
|
Registriert seit: Jul 2003
Ort: Berlin
Beiträge: 461
|
|
Scripte schreiben für andere machst Du nicht zufällig ?
das machen die meisten hier, von denen die das wissen haben.
nur hat hier jeder seinen preis.
z.b. bei mir fängt das bei ner kiste bier an.... je nach auftrag, wenn es aber dann in richtung ne lkw ladung geht, weil dein skript zu viel arbeit bedarf, dann bevorzuge ich dann doch lieber euro.
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|