ROG Innovation Logo

Tutorials, Gadgets und vieles mehr - Idea. Creation. Success. - Let's create the future!

PHP E-Mail Tutorial

PHP E-Mail Tutorial

Inhaltsverzeichnis:
  - eMail Funktion
  - Datum / Zeit
  - ohne PHP
  - HTML Mail
  - erweiterte eMail

info Inhalt wurde mit PHP 8.2 & 7.2 geprüft 

PHP eMail-Funktiom

Über die PHP mail-Funktion können einfache eMails versendet werden.
Dies können z.B. Daten eines Kontaktformulars sein, welche zur Beantwortung an die eMail-Adresse des Sachbearbeiters gesendet werden soll.

Zu beachten ist, dass beim Header (From) immer eine eMail Adresse der eigenen Website verwendet werden muss.
Dies weil, dass PHP-Script auf dem Server abgearbeitet wird und die eMail deshalb auch nur vom eigenen Server aus direkt versendet werden kann.
Sprich bei der Website test.com könnte z.B. dann die Absender-Adresse contact@test.com heissen.
Die Absender eMai-Adresse muss auf jedenfalls vom PHP Script auf dem Server erreicht werden können und existieren!

PHP Code
<?php
// eMail Parameter
$empfaenger = "empfangs@adresse.com";
$betreff = "eMail Betreff";
$emailnachricht = "eMail Nachricht, Bla bla...";
$header = "From: kontaktformular <emailadresse@deinerwebsite.com>";

// eMail versenden
mail($empfaenger, $betreff, $emailnachricht, $header);
?>

Hinweis
Mit einem \r\n im Text der $emailnachricht kann ein Zeilenumbruch erzeugt werden.
-> $emailnachricht = "eMai Nachricht, Bla bla..."."\r\nDieser Text ist auf einer neuen Zeile.";

Datum / Zeit

Natürlich kann auch bei der eMail z.B. für den Betreff das aktuelle Datum mitgegeben werden.
Hierfür sollte als erstes die richtige Zeitzone gesetzt werden.
Danach kann die eMail-Funktion wie gewohnt z.B. mit dem Datum im Betreff verwendet werden.

PHP Code
<?php
// Zeitzone setzen
$timezone = 'Europe/Berlin';
date_default_timezone_set($timezone);

// eMail Parameter
$empfaenger = "empfangs@adresse.com";
$betreff = "eMail Betreff".date("d.m.Y - H:i");
$emailnachricht = "eMail Nachricht, Bla bla...";
$header = "From: kontaktformular <emailadresse@deinerwebsite.com>";

// eMail versenden
mail($empfaenger, $betreff, $emailnachricht, $header);
?>

eMail ohne PHP versenden

Da bei manchen Webhost-Angeboten das Aufrühren von PHP Scripts nicht inkl. ist,
kann der gratis Dienst von www.onlex.de verwendet werden.
Einfach ein HTML-Formular erstellen und die Daten an den eigenen Account von www.onlex.de übermitteln.
Die Daten werden dann auf Onlex ausgewertet und als eMail versendet.
Zudem kann im Onlex Account nach dem erfolgreichen versenden einer eMail, eine Weiterleitung auf eine URL angegeben werden (z.B. Erfolgsbestätigungsseite für den Websitebesucher).

Bitte beim Benutzen dieses gratis Dienstes daran denken, auch evtl. etwas zu Spenden, da Onlex.de ausschliesslich durch Spenden finanziert wird.

HTML eMail

Für gestalterisch anspruchsvollere eMails empfielt es sich die eMail als HTML-eMail zu versenden.
So kann die eMail durch gängiges HTML und CSS gestaltet werden und sieht dadurch viel professioneller aus als eine herkömliche reine Text-eMail.

PHP Code - HTML eMail versenden
<?php
// eMail Parameter Einstellen
$empfaenger = "XXX@XX.com"; //Mailadresse
$absender = "Mail von meinem Website Server <XXX@XX.com>";
$betreff = "HTML-eMail";
$antwortan = "XXX@XX.com";

// Nachricht
$nachricht = '
<html>
<head>
<title>Titel :)</title>
</head>
<body>
Hier kann ganz normaler HTML-Code verwendet werden ;)
</body>
</html>
';

// für HTML-E-Mails muss der 'Content-type'-Header gesetzt werden
$header = 'MIME-Version: 1.0' . "\r\n";
$header .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

$header .= "From: $absender\r\n";
$header .= "Reply-To: $antwortan\r\n";
// $header .= "Cc: xx@xx.com\r\n"; // falls an CC gesendet werden soll
// $header .= 'Bcc: xx@xx.com' . "\r\n"; // Blindkopie
$header .= "X-Mailer: PHP ". phpversion();
// vesenden der eMail
mail( $empfaenger, $betreff, $nachricht, $header);
echo "Mail wurde gesendet!";
?>


eMail an mehrere Empfänger senden

Hierfür können einfach beim $emfaenger-Parameter mehrere Empfänger durch Komma getrennt hinzugefügt werden.

PHP Code
<?php
// mehrere Empfänger
$empfaenger = 'max@example.com' . ', '; // bitte Komma beachten
$empfaenger .= 'moritz@example.com';
?>


Fortgeschrittener eMail-Versand

Mit der PHP-Funktion mail() kann man E-Mails versenden. Aber diese Funktion garantiert den korrekten und zuverlässigen eMail Versand nicht in jedem Fall und ist auch abhängig des verwendeten Browsers des Websitbesuchers. Für den korrekten E-Mail Versand sind verschiedene Mail-Header notwendig. Ohne die richtigen Header bekommen viele Mail-Clients Probleme bei der Anzeige oder empfangen diese erst gar nicht. Allerdings ist es aufgrund der Komplexität sehr aufwändig, alle sich damit befassenden RFC-Dokumente selbst durchzuarbeiten und anzuwenden. Stattdessen sollte man Mailerklassen verwenden, die diese Header korrekt einbinden.
Hier einige Beispiele von Mailkalssen nach denen für genauere und weitere Infos gegoogelt werdenen kann ;)



Kommentare
Hier können sowohl Fragen wie auch ein Feedback zum oben stehenden Artikel eingetragen werden.


*Name:


*Kommentar:

(max. 500 Zeichen)

Terms:


*Pflichtfeld

Hinweis:
Der Eintrag wird nach einer redaktionellen Prüfung in den kommenden Tagen freigeschalten.

Top Themen

Suche
DoubleTwist
doubletwist iTunes mit Android Handy synchronisieren
Free YouTube Video Music
Youtube gratis Musik für Youtube Videos
Anzeige
Spenden
ROG Innovation unterstützen