E-Mails mit PHP versenden
Um E-Mails mit PHP zu verschicken, kannst du die integriertemail()
-Funktion verwenden. Das geht erstaunlich einfach – vorausgesetzt, dein Server unterstützt den E-Mail-Versand.Vorbereitung
Bevor du loslegst: Stelle sicher, dass dein Server korrekt für den Mailversand eingerichtet ist. Manche Webhosting-Anbieter haben eigene Regeln oder Einschränkungen. Im Zweifel hilft ein kurzer Blick ins Hosting-Panel oder eine Nachfrage beim Support.
E-Mail erstellen
Beim Versenden einer E-Mail brauchst du vier Dinge:
- den Empfänger
- den Betreff
- den Nachrichtentext
- und optional Kopfzeilen (Header), zum Beispiel für den Absender oder das Format.
Die Syntax der Mail-Funktion
Hier siehst du die Grundstruktur:
Anklicken zum Kopieren
<?php
mail($empfaenger, $betreff, $nachricht, $header);
?>
$empfaenger
: Die Zieladresse der E-Mail.-
$betreff
: Die Betreffzeile der E-Mail.-
$nachricht
: Der eigentliche Text der E-Mail.-
$header
: Zusätzliche Angaben wie Absenderadresse oder Zeichensatz.Beispiel: Deine erste eigene PHP-Mail
Hier ein vollständiges Beispiel, das du direkt testen kannst:
Anklicken zum Kopieren
<?php
$empfaenger = "empfaenger@example.com";
$betreff = "Test-E-Mail";
$nachricht = "Hallo, dies ist eine Test-E-Mail.";
$header = "From: absender@example.com\r\n";
$header .= "Content-Type: text/plain; charset=utf-8\r\n";
if (mail($empfaenger, $betreff, $nachricht, $header)) {
echo "E-Mail wurde erfolgreich versendet.";
} else {
echo "Fehler beim Versenden der E-Mail.";
}
?>
- Passe Empfängeradresse, Betreff und Nachricht natürlich an deine eigenen Anforderungen an.
- Die
if
-Abfrage prüft, ob der Versand erfolgreich war – und gibt eine entsprechende Rückmeldung.- Denke daran: PHPs
mail()
-Funktion ist ziemlich einfach, aber auch etwas "nackt". Sie reicht für erste Tests und einfache Anwendungen – für komplexere Dinge wie HTML-E-Mails, Anhänge oder SMTP-Authentifizierung solltest du später eine Bibliothek wie PHPMailer verwenden.Sicherheit und Verantwortung
Beim Versand von E-Mails ist sauberes Arbeiten wichtig: Keine unnötigen sensiblen Daten verschicken, keine offenen Formulare ohne Schutz verwenden und natürlich kein Spam!
E-Mail-Versand mit Formular und POST
Noch spannender wird es, wenn du dem Nutzer ein Formular anbietest, mit dem er selbst eine Nachricht schicken kann.Hier ein einfaches Beispiel:
Anklicken zum Kopieren
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$empfaenger = "deine@email.de";
$betreff = "Neue Nachricht von der Website";
$nachricht = "Name: " . $_POST['name'] . "\n";
$nachricht .= "E-Mail: " . $_POST['email'] . "\n\n";
$nachricht .= "Nachricht:\n" . $_POST['nachricht'];
$header = "From: " . $_POST['email'] . "\r\n";
$header .= "Content-Type: text/plain; charset=utf-8\r\n";
if (mail($empfaenger, $betreff, $nachricht, $header)) {
echo "Vielen Dank! Deine Nachricht wurde gesendet.";
} else {
echo "Leider gab es ein Problem beim Senden deiner Nachricht.";
}
}
?>
Anklicken zum Kopieren
<form action="" method="post">
<label for="name">Dein Name:</label><br>
<input type="text" name="name" id="name" required><br><br>
<label for="email">Deine E-Mail:</label><br>
<input type="email" name="email" id="email" required><br><br>
<label for="nachricht">Deine Nachricht:</label><br>
<textarea name="nachricht" id="nachricht" rows="5" required></textarea><br><br>
<input type="submit" value="Nachricht senden">
</form>
Dieses Beispiel zeigt nur die grundsätzliche Technik! In einer echten Webseite solltest du Benutzereingaben immer zusätzlich prüfen und absichern (z.B. mit
filter_var()
und/oder eigenen Sicherheitsfunktionen), um Missbrauch und Angriffe wie Spam oder Header Injection zu verhindern.Was hast du hier gelernt?
- Wie du Formulardaten mit$_POST
ausliest.- Wie du die
mail()
-Funktion in Verbindung mit Benutzereingaben verwendest.- Wie du ein einfaches, funktionierendes Kontaktformular aufbaust.
Damit hast du schon eine richtig gute Basis für eigene kleine Projekte!
Kommentare
Kommentar von Marc
Endlich hab ichs verstanden ^^
Möchtest du etwas zu diesem Tutorial sagen?
Werbung
Du suchst einen günstigen Anbieter für Webhosting? Netcup hat alles, was du suchst!
Sichere dir jetzt einen 5€-Gutschein für Neukunden!