Archiv verlassen und diese Seite im Standarddesign anzeigen : Mail Problem
Hallo,
Ich möchte folgendes per Mail verschicken:
Ich habe eine Variable $gesamt, die sich aus mehreren Variablen zusammensetzt.
Zum Beispiel: $text1, $text2,$text3
If ($text1) {$gesamt .= "$text1<br>";}
If ($text2) {$gesamt .= "$text2<br>";}
If ($text3) {$gesamt .= "$text3<br>";}
Die HTML Ausgabe von $gesamt ist dann, wenn alle $text1-3 existieren:
Inhalt text
Inhalt text2
Inhalt text3
So weit so gut.
Jetzt möchte ich aber die $gesamt per ASCII Mail verschicken und er soll mir in meiner Mail ebenfalls die <br> anzeigen.
Das funktioniert aber in meiner ASCII mail nicht.
Die mail sieht dann so aus:
Inhalt text1<br>Inhalt text2<br>Inhalt text3<br>
Er sieht also in der mail nicht, dass ich breaks haben möchte.
Ich habe auch schon versucht mit str_replace dir <br> durch \n zu ersetzen, aber das mag er auch nicht :((
Jemand eine Idee ??
Ich habe auch schon versucht mit str_replace dir <br> durch \n zu ersetzen Das ist aber der richtige ansatz.
versuch mal \n\r
alternativ (halte ich für besser)
erst $gesamt mit normalen umbrüchen definieren, und dann nl2br darüber laufen lassen. dann haste den html-quelltext auch entsprechend formatiert.
versuch mal \n\r \r\n ist hier wohl besser. ,-)
also in mit $gesamt = str_replace('<br>','/r/n',$gesamt);
gehts nicht!
Wie meinst du das mit normalen Umbrüchen und dann nl2br drüber laufen lassen?
$gesamt = str_replace('<br>','',$gesamt);
$gesamt=nl2br($gesamt);
Auch so geht es nicht :((
$gesamt = str_replace('<br>','',$gesamt);
$gesamt=nl2br($gesamt); funktioniert mit sicherheit, bringt nur logischerweise nicht das gewünschte ergebnis ;)
zeig mal nen kleinen testcode.
if ($pdf1){ $gesamtmaterial .= "$pdf1<br>";}
if ($pdf1a){ $gesamtmaterial .= "$pdf1a<br>";}
if ($pdf1b){ $gesamtmaterial .= "$pdf1b<br>";}
$gesamtmaterial = str_replace('<br>','',$gesamtmaterial);
$gesamtmaterial=nl2br($gesamtmaterial);
$empfmail = "xxx@xxx.de";
$headers ="MIME-Version: 1.0\r\n";
$headers.="From: ".$Name." <".$Email.">\n";
$headers.="To: ".$empfmail." <".$empfmail.">\n";
$headers.="Reply-To: ".$Name." <".$Email.">\n";
$headers.="X-Priority: 3\n";
$headers.="X-MSMail-Priority: Normal\n";
$headers.="X-Mailer: Webserver\n";
mail ($empfmail, 'Online-Kontakt', "Bitte senden Sie mir folgende Infomaterialien zu:\n\nInfomaterial:\n$gesamtmaterial",$headers);
so meinte ich das nicht, weil so kann ich kein stück ausprobieren, weil ich deine testwerte ja nicht kenne.
btw: mit über 100 postings solltest du eigentlich die regeln bezüglich des posten von quellcode kennen!
Hmm, ich kann hier nicht den ganzen code posten, aber so müsst es auch gehen:
<?php
$pdf1 = "test";
$pdf1a = "test2";
$pdf1b = "test3";
if ($pdf1){ $gesamtmaterial .= "$pdf1<br>";}
if ($pdf1a){ $gesamtmaterial .= "$pdf1a<br>";}
if ($pdf1b){ $gesamtmaterial .= "$pdf1b<br>";}
echo "Du hast folgende Materialien ausgewählt: §gesamtmaterial";
if ($gesamtmaterial){
$gesamtmaterial = str_replace('<br>','',$gesamtmaterial);
$gesamtmaterial=nl2br($gesamtmaterial);
$Name = "Heinz";
$Email = "mustermann@mustermann.de";
$empfmail = "DeineEmail";
$headers ="MIME-Version: 1.0\r\n";
$headers.="From: ".$Name." <".$Email.">\n";
$headers.="To: ".$empfmail." <".$empfmail.">\n";
$headers.="Reply-To: ".$Name." <".$Email.">\n";
$headers.="X-Priority: 3\n";
$headers.="X-MSMail-Priority: Normal\n";
$headers.="X-Mailer: Webserver\n";
mail ($empfmail, 'Online-Kontakt', "Bitte senden Sie mir folgende Infomaterialien zu:\n\nInfomaterial:\n$gesamtmaterial",$headers);
}
?>
Nochmal vielen Dank für deine Hilfe
echo "Du hast folgende Materialien ausgewählt: §gesamtmaterial";
muss heissen:
--> echo "Du hast folgende Materialien ausgewählt: $gesamtmaterial";
da muss ich den link wohl doch noch posten:
http://www.php-resource.de/forum/showthread.php?threadid=50454
:rolleyes:
außerdem hatte ich glaube ich schonmal gepostet, dass
if ($gesamtmaterial){
$gesamtmaterial = str_replace('<br>','',$gesamtmaterial);
$gesamtmaterial=nl2br($gesamtmaterial);
schwachsinn ist!
Ich weiss doch selbst das das Schwachsinn ist, ich habe das ja hier gepostet, um von euch Hilfe bei meinem Problem zu erhalten !!!
Bitte poste doch nicht, dass das so nicht funktioniert, sondern ich wäre dir sehr dankbar, wenn du mir bei meinem Prolem helfen könntest!!
wenn du nicht auf mich eigengehst (anpassung den Quelltextes - sowohl inhaltlich als auch format), werde ich auch nicht näher auf dein Prob eigehen. Sorry.
ok dann poste ich das ganze nochmal:
[PHP]
<?php
$pdf1 = "test1";
$pdf1a = "test2";
$pdf1b = "test3";
if ($pdf1){ $gesamtmaterial .= "$pdf1<br>";}
if ($pdf1a){ $gesamtmaterial .= "$pdf1a<br>";}
if ($pdf1b){ $gesamtmaterial .= "$pdf1b<br>";}
echo "Du hast folgende Materialien ausgewählt:<br>$gesamtmaterial";
if ($gesamtmaterial){
$gesamtmaterial = str_replace('<br>','',$gesamtmaterial);
$gesamtmaterial=nl2br($gesamtmaterial);
$Name = "Heinz";
$Email = "mustermann@mustermann.de";
$empfmail = "DeineEmail";
$headers ="MIME-Version: 1.0\r\n";
$headers.="From: ".$Name." <".$Email.">\n";
$headers.="To: ".$empfmail." <".$empfmail.">\n";
$headers.="Reply-To: ".$Name." <".$Email.">\n";
$headers.="X-Priority: 3\n";
$headers.="X-MSMail-Priority: Normal\n";
$headers.="X-Mailer: Webserver\n";
mail ($empfmail, 'Online-Kontakt', "Bitte senden Sie mir folgende Infomaterialien zu:\n\nInfomaterial:\n$gesamtmaterial",$headers);
}
?>
[\PHP]
-> Ich bekomme dann als html Ausgabe:
Du hast folgende Materialien ausgewählt:
test1
test2
test3
--> Soweit ok!
Nun erhalte ich eine mail, in der steht dann:
Du hast folgende Materialien ausgewählt:
test1test2test3
Ich hätte aber gern, dass in meiner Mail auch die Ausgabe so aussieht wie in der html Ausgabe!
|
|