HTML-eMail Problem

@ Oliver Gringel
Die Variante mit return $mailtext; hat weiter oben won_gak schon gepostet. Sie geht aber nicht. Wenn ich statt mail(...); echo mailanzeige(); verwende, dann wird das Template richtig mit allen Variablen geparst!
Außerdem wird die Variable $mailtext gesetzt und zwar am Ende der Funktion mailanzeige(), die dann auch vor dem wirklichen eMail-Versandt aufgerufen wird...
Trozdem Danke

@mefistulo
Ich wollte eigentlich keine eigene Klasse dafür verwenden, da es den Code insgesammt nur überladen würde.
 
Zuletzt bearbeitet:
Ha, habe es hinbekommen. War nurnoch ein kleiner Variablenfehler.

Hier die Lösung

mailanzeige()
PHP:
	function mailanzeige(){
		global $name, $email, $web, $icq, $betreff, $text;
		$inhalt=file_get_contents('sections/home/templates/kontakt_email.htm');
		$text=nl2br($text);
		$inhalt=str_replace('{name}', $name, $inhalt);
		$inhalt=str_replace('{email}', $email, $inhalt);
		$inhalt=str_replace('{web}', $web, $inhalt);
		$inhalt=str_replace('{icq}', $icq, $inhalt);
		$inhalt=str_replace('{betreff}', $betreff, $inhalt);
		$inhalt=str_replace('{text}', $text, $inhalt);
		return $inhalt;}

es muss am Ende return $inhalt heißen!

mail()
PHP:
$extra="From: $name <$email>\n";
$extra.="Content-type: text/html\n";
$extra.="Content-Transfer-Encoding: 8bit\n";
mail($empfänger, $betreff, mailanzeige(), $extra);

und hier dann einfach nur mailanziege() als Content

Danke nochmal an alle für die gute Hilfe! :)
 
Zurück