Derzeit online: ca. 29 User  
Spenden via PayPal PHP für dich ist auch als Buch erhältlich - im handlichen Format, zum Nachschlagen, Mitnehmen oder gemütlichen nebenbei Lesen. Mit noch mehr Informationen, zusätzlichen Beispielen und Übungsaufgaben.
Jetzt in der aktualisierten Version bei Amazon oder BoD bestellen!


PHP

Email...

... für dich.

Eine sehr praktische Funktion, ist die Mailfunktion innerhalb PHP. Damit kann man ohne Probleme ein Kontaktformular oder sogar einen (kleinen!) Newsletterservice realisieren.

! Achtung !
Die Mailfunktion funktioniert nicht auf jedem virtuellen Webserver, da diese häufig über keinen eigenen Mailserver verfügen. Du kannst den Mailversand dann aber problemlos auf deinem Webspace testen.


Die Funktion ist so aufgebaut:
mail(Empfängeremail, Betreff, Nachricht, "From: Absender <Absenderemail>");
Es ist dabei sinnvoll, alle Werte in Variablen zu speichern. Geschieht dies nicht, sind eMail-Adressen ohne Anführungszeichen und Texte in Anführungszeichen zu schreiben.

Das kann dann z. B. so aussehen:
<?php
$empfaenger = "email@domain.de";
$absendername = "Kontaktformular";
$absendermail = "email@domain.de";
$betreff = "PHP ist toll";
$text = "Hallo Claudia!
        $user war gerade auf deinen PHP-Seiten und 
        wollte dir sagen, dass sie ihm/ihr sehr gut
        gefallen.
        Wenn du mit ihm/ihr Kontakt aufnehmen 
        m&ouml;chtest, benutze bitte die Adresse $usermail.";
mail($empfaenger, $betreff, $text, "From: $absendername <$absendermail>");
?>
Die Leerzeichen um die Einrückung bei der Variable $text zu erzeugen, sind hier nur aus Übersichtlichkeitsgründen vorhanden. Sie würden so im Text übernommen werden und müssen daher im richtigen Einsatz weggelassen werden.

Die Eingabe des Textes kann durch ein Formular erfolgen, in dem der User seinen Namen und seine eMail-Adresse einträgt und das dann automatisch diese Mail versendet. Sinnvoll ist es natürlich, als Empfänger die eigene eMail-Adresse anzugeben bzw. die desjenigen, der die Mail bekommen soll. Bezüglich Sicherheitsrisiken bei eMail-Versand über Formulare, wirf bitte einen Blick auf die sehr gute Seite von Daniel Fett.

Die Variablen user und usermail, die im Mailtext ausgegeben werden, werden dabei durch das Formular festgelegt - alle anderen werden selbst angeführt.

Achtung! Immer mehr Server verschicken aus Sicherheitsgründen Mails nur dann, wenn die Absenderadresse tatsächlich auf dem Server angelegt ist. Du kannst daher nicht einfach den im Formular angegebenen Absender als "From" angeben, sondern musst deine eigene Mailadresse dort eintragen, indem du eine extra Variable für die Absender-Mail-Adresse definierst. Alternativ kannst du natürlich auch die Empfänger-Mail-Adresse als Absenderadresse benutzen.

Durch weitere Parameter ist es mit dieser Funktion auch möglich HTML-Mails zu versenden.
<?php
$extra = "From: $absendername <$absendermail>\n";
$extra .= "Content-Type: text/html\n";
$extra .= "Content-Transfer-Encoding: 8bit\n";
mail($empfaenger, $betreff, $text, $extra);
?>
Hierbei werden die Variablen des Absenders in der Variable extra abgespeichert. Wichtig ist das \n am Ende der Variable (dadurch wird eine Zeilenumbruch erzeugt). Danach wird mit .= ein weiterer Wert an die Variable angehängt, der den Content-Type - bei uns also text/html - angibt. Dieser muss genau so übernommen werden. Anschließend benötigen wir noch Content-Transfer-Encoding. Auch diesen verwendest du bitte wie oben angegeben. Dadurch wird aus einer Mail eine HTML-Mail.

Der Text der Nachricht muss in dem Fall mittels HTML formatiert werden, reine Zeilenumbrüche funktionieren z. B. nicht!

Beachte aber bitte, dass Text-Mails zum einen beliebter sind als HTML-Mails und dass zum anderen die Programmierung einfacher ist, wenn du nur Text-Mails verwendest :-)

Als nächstes zeige ich dir die Vorteile von Includes.

Autor: Claudia Unkelbach

=> Weiter
© 2001 - 2017 Claudia Unkelbach
Gießener Straße 75, 35396 Gießen