[PHP] Email als Text oder HTML senden...

smaak

Well-known member
7 Mai 2006
2.811
357
Tag zusammen!

Ist es möglich folgenden Code so umzubauen, das die Emails als HTML-Mails verschickt werden und auch als solche ankommen? Nach möglichkeit mit wenigen Änderungen...

PHP:
<?php

$Empfaenger = "mail@sonstwas";

if($_REQUEST['Send'])
{
   if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Nachricht']))
   {
      echo"Bitte gehen Sie <a href=\"seite.php\">zurück</a> und füllen Sie alle Felder aus!";
   }
   else
   {
      $Mailnachricht = "Folgende Nachricht wurde gesendet: \n\n";
      while(list($Formularfeld, $Wert)=each($_REQUEST))
      {
         if($Formularfeld!="Send")
         {
            $Mailnachricht .= $Formularfeld.": ".$Wert."\n";
         }
      }
      $Mailnachricht .= "\nDatum/Zeit: ";
      $Mailnachricht .= date("d.m.Y H:i:s");
      $Mailbetreff = "Support-Anfrage: ";
      $Mailbetreff .= $_REQUEST['Betreff'];
      mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);
      echo"Vielen Dank für Ihre Email, wir antworten Ihnen schnellstmöglich!";
   }
}
else
{
   echo"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href=\"seite.php\">Seite</a> zurück.";
}

?>

Mit freundlichen und im vorraus dankenden Grüßen
BierFan
 
Hoffe zwar, dass du diesen Code niemals öffentlich verwendest (nichtmal ausgeparst, die Inputs ...), aber du musst nur den Header ein wenig erweitern, etwa so:

PHP:
mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']."\nContent-Type:text/html\nContent-Transfer-Encoding: 8bit\n");
 
Ähm, was ist denn mit dem Code? Warum sollte ich diesen nie öffentlich verwenden? Also auf einigen Seiten setz ich den schon länger ein.

PS: Danke erstmal für die Antwort!
 
Moin zusammen!

Die Mails kommen jetzt als HTML-Mails, vielen Dank an Raven!

Nun ist in der Text in der Mail aber komplett in einer Zeile, sprich, alle Formularfelder stehen nebeneinander. Kann mir bitte jemand verraten wie ich diese in der HTML-Mail untereinander bekomme?

Code siehe oben!

Danke!
 
Hat sich erledigt, ich musste nur ein kleines
PHP:
<br>
einfügen!

Danke für eure Hilfe!
 
Zuletzt bearbeitet: