Email-Ausgabe von PHP-Kontaktformular übersichtlich machen

shajin

Cadet 4th Year
Registriert
Dez. 2008
Beiträge
115
Hey,

ich habe ein Kontaktformular gebastelt das prima funktioniert.

Hier mal die formular.php:

Code:
<html>

<head></head>

<body style="background-color: #f8f8f8">

<?PHP

if ($_POST['message']) {

$author = $_POST['author'];
$email = $_POST['email'];
$artikel = $_POST['artikel'];
$message = $_POST['message'];

$ziel_email="meineemailadresse";
$email_betreff="Neue Nachricht von $author";
$email_hauptteil="$author,$email,$artikel,$message";

mail ($ziel_email, $email_betreff, $email_hauptteil);

print ("Vielen Dank für Ihre Email!");

}

?>

</body>
</html>

Aufgrund der Syntax in $email_hauptteil werden die in das Formular eingegebenen Inhalte bloß durch Kommata getrennt aneinandergereiht. Das ist relativ unübersichtlich.

Daher möchte ich, dass jedes Element einen eigenen Absatz bekommt. Wie stelle ich das am besten an? Mit <br /> hab ichs schon probiert, das wird aber in der Mail auch nur als <br /> angezeigt, also nicht als HTML intepretiert.

Jemand eine Idee? Wäre super!
 
Musst du natürlich auch im Header festhalten, dass es sich um eine HTML-Email handelt:

Code:
$header  = "MIME-Version: 1.0\n";
$header .= "Content-type: text/html; charset=utf-8\n";
$header .= "Content-Transfer-encoding: 8bit\n";
$header .= "From: ".$abs_email."\r\n";

$mail_status=mail($email, $betreff, $nachricht, $header);
 
So:
Code:
$email_hauptteil="$author[B]\r\n[/B]$email[B]\r\n[/B]$artikel[B]\r\n[/B]$message";
oder so (die Zeilenumbrüche werden übernommen):
Code:
$email_hauptteil="$author
$email
$artike
$message";
<br/> werden nicht gehen, da du wohl eine Testmail versendest.
 
oder direkt mit html Formatierung. Könnte dann so aufgebaut sein:
PHP:
<?PHP

if ($_POST[nachricht]) {
	$text ='<html>
	<head><title>Nachricht über Kontaktformular</title></head>
	<body>
	<table>
	<tr><td>Firma:</td><td>'.$_POST[company].'</td></tr>
	<tr><td>Name:</td><td>'.$_POST[firstname].' '.$_POST[name].'</td></tr>
	<tr><td>E-Mail:</td><td>'.$_POST[email].'</td></tr>
	<tr><td>Fax-Nummer:</td><td>'.$_POST[fax].'</td></tr>
	<tr><td>Nachricht:</td><td width="400">'.$_POST[nachricht].'</td></tr>
	</table>
	</body>
	</html>
	';
	$header ='From: '.$_POST[name].'<'.$_POST[email].'>' . "\r\n";
	$header .= 'Content-type: text/html; charset=UTF8' . "\r\n";
	mail("Deine@e-mail.com","Nachricht Kontakt-formular",$text,$header);
	echo '<tr><td align="center">Your message has been sent.</td></tr>';

} else {

 //Formular Anfang
?>
Die Variabeln mußt noch anpassen.
 
Zurück
Oben