Kontaktformular mit php

Hallo zusammen,

bin noch ein ziemlich Newbie neu was php angeht und benötige deshalb Hilfe.
Ich möchte ein Kontaktformular mit html in Verbindung mit php erstellen, bekomme aber die Nachrichten, die in das Formular eingegeben werden nicht per Mail zugeschickt. Woran liegt das? Kann den Fehler nicht entdecken und wäre froh über Feedback. Folgend mein aktueller Stand.

HTML:

[code=html]

Schreiben Sie mir eine Nachricht.

  <form id="contact_form" class="contact_form" action="senden1.php" method="post" name="contact_form">
    <ul>
      <li>
        <label for="name">Name:</label>
        <input type="text" name="name" id="name" required class="required">
      </li>
      <li>
        <label for="email">E-Mail:</label>
        <input type="text" name="email" id="email" required placeholder="" class="required email">
      </li>
      <li>
        <label for="betreff">Betreff:</label>
        <input type="text" name="betreff" id="betreff" required class="required">
      </li>
      <li>
        <label for="nachricht">Nachricht:</label>
        <textarea name="nachricht" id="nachricht" cols="100" rows="6" required  class="required"></textarea>
      </li>
      <li>
        <button id="submit" type="submit" id="submit" name="submit" class="button fright">Senden</button>
      </li>
    </ul>
  </form>
  </section>[/code]

php:

[code=php]

Kontakt
<body>
   <?php
       if($_POST['name']!="" and $_POST['email']!="" and $_POST['betreff']!="" and $_POST['message']!="") {
       $empf = "[EMAIL]meineadresse@gmx.de[/EMAIL]";
       $betreff = $_POST['betreff'];
       $from = "From: ";
       $from .= $_POST['name'];
       $from .= " <";
       $from .= $_POST['email'];
       $from .= "\n";
       $from .= "Reply-To: ";
       $from .= $_POST['[EMAIL]meineadresse@gmx.de[/EMAIL]'];  
       $from .= "\n";      
       $from .= "Content-Type: text/html";  
       $from .= $_POST['message'];
      
       mail($empf, $betreff, $text, $from);
       echo "Vielen Dank fuer Ihre Nachricht. <br/> <a href="Zur Website zurück.">kontakt.html</a>";
       } 
   ?>
 </body>
[/code]

Danke für eure Hilfe!

Was ich auf anhieb sehe ist folgendes
[PHP]
$from .= $_POST[‚meineadresse@gmx.de‘];
[/PHP]

Das ist natürlich quatsch, weil du deine Adresse in der Variable $empf stehen hast.
Dann machst du auch nirgends eine zuweisung der Variable $text.
Du müsstest also noch irgendwo

[PHP]
$text = $_POST[‚message‘];
[/PHP]
stehen haben.

Ansonsten kann ich dir auch nur raten die Klasse Phpmailer dafür zu verwenden.
Hier ein Link
Ansonsten einfach selbst Google benutzen.

Grundsätzlich, wie B3nnoX schon sagte, solltest Du mail() nicht roh verwenden, dazu bedarf es ein wenig mehr Kenntnisse. Alternativen sind Mailerklassen, die beiden verbreitetsten und wie man die ganz einfach einbindet, findest Du hier:

PHPMailer
SwiftMailer

Ich empfehle eher den SwiftMailer, aber der PHPMailer ist auch allemal besser als mail() roh zu verwenden.

Zusätzlich sei noch erwähnt, dass Du niemals Usereingaben ungefiltert verwenden solltest!