Thema in Kurzform
Mit PHP ist es super einfach, E-Mails aus dem Server-Script an einen beliebigen Empfänger zu senden. Alles, was du dazu brauchst, steckt in der schlanken Funktion mail().
Der Code für das Versenden einer E-Mail mit mail() ist sehr einfach. Hier siehst du ein Beispiel:
<?php
// Variablen festlegen
$msg = "Hallo, das ist eine Test-Mail.";
$empfaenger = "empfaenger@domain.de";
$betreff = "Betreff der Mail";
// Verwende wordwrap() bei mehr als 100 Zeichen je Zeile
$msg = wordwrap($msg,100);
// E-Mail versenden
$sendmail = mail($empfaenger,$betreff,$msg);
?>
Wir speichern zuerst die wesentlichen Bestandteile der E-Mail in den Variablen $msg, $empfaenger und $betreff. Die Textnachricht in $msg soll im Textfluss außerdem noch eine maximale Länge von 100 Zeichen je Zeile haben: Dazu nutzen wir die Funktion wordwrap().
Die Funktion mail() hat dann in der "Minimal-Version" drei Parameter. Diese werden mit unseren drei Variablen besetzt und schon sind wir fertig 😀
Beachte: Ein lokaler Server kann normlerweise keine Mails versenden. Teste das Programm daher am besten auf einem echten Server.
Wir können unser Programm sinnvoll mit folgenden Möglichkeiten erweitern:
Die Funktion mail() liefert einen booleschen Rückgabewert: true, wenn die E-Mail erfolgreich für den Versand akzeptiert wurde, ansonsten false.
Den Rückgabewert können wir sinnvoll einsetzen, um dem Benutzer ein Feedback zu geben, ob mit dem Mail-Versand soweit alles geklappt hat.
Das erweiterte Mail-Programm sieht dann so aus:
<?php
// Variablen festlegen
$msg = "Hallo, das ist eine Test-Mail.";
$empfaenger = "empfaenger@domain.de";
$betreff = "Betreff der Mail";
// Verwende wordwrap() bei mehr als 100 Zeichen je Zeile
$msg = wordwrap($msg,100);
// E-Mail versenden
$sendmail = mail($empfaenger,$betreff,$msg);
// Feedback an Benutzer
if($sendmail){
echo "Erfolg! E-Mail wurde für den Versand akzeptiert.";
}
else{
echo "Fehler! E-Mail nicht für den Versand akzeptiert.";
}
?>
Um der versendeten E-Mail Informationen wie From, Cc oder Bcc mitzugeben, können wir die optionalen zusätzlichen Header angeben.
Diese Werte werden in einem Key-Value-Array gespeichert:
$headers = [
'From' => 'Falconbyte <info@falconbyte.net>',
'Cc' => 'Cc <kopie@domain.de>',
'Bcc' => 'Bcc <blindKopie@domain.de>'
];
Das Array setzen wir als optionalen Parameter in die mail()-Funktion ein.
Unser fertiges Mail-Programm sieht komplett nun so aus:
<?php
$msg = "Hallo, das ist eine Test-Mail.";
$empfaenger = "mail@stefanheller.net";
$betreff = "Betreff der Mail";
// use wordwrap() if lines are longer than 100 characters
$msg = wordwrap($msg,100);
// Zusätzliche Header
$headers = [
'From' => 'Falconbyte <info@falconbyte.net>',
'Cc' => 'Cc <kopie@domain.de>',
'Bcc' => 'Bcc <blindKopie@domain.de>'
];
// send email mit zusätzlichem Header-Parameter
$sendmail = mail($empfaenger,$betreff,$msg, $headers);
// Feedback an den Benutzer
if($sendmail){
echo "Erfolg! E-Mail wurde für den Versand akzeptiert.";
}
else{
echo "Fehler! E-Mail nicht für den Versand akzeptiert.";
}
?>
Java Basics
[Java einrichten] [Variablen] [Primitive Datentypen] [Operatoren] [if else] [switch-case] [Arrays] [Schleifen]
Objektorientierung
[Einstieg] [Variablen ] [Konstruktor] [Methoden] [Rekursion] [Statische Member] [Initializer] [Pass-by-value] [Objektsammlungen] [Objektinteraktion] [Objekte löschen]
Klassenbibliothek
[Allgemeines] [String ] [Math] [Wrapper] [Scanner] [java.util.Arrays] [Date-Time-API]
Vererbung
[Einstieg Vererbung] [Konstruktoren bei Vererbung ] [Der protected Zugriffsmodifikator] [Abstrakte Klassen und Methoden] [Polymorphie in Java] [Typumwandlung] [Die Klasse Object] [Die toString()-Methode] [Objekte vergleichen] [Was ist ein Interface?]