PHP-Mailklasse

Wer als Webmaster viele Funktionen selbstständig mit PHP realisieren will, wird sicherlich schon mal an den Punkt gestoßen sein, an dem es ganz praktisch wäre, eine automatisierte Mail verschicken zu lassen. Sei es eine Benachrichtigung, die Aufforderung zur Bestätigung einer Registrierung oder eine schlichte Infomail an eine Gruppe von Leuten.

Man könnte zwar hergehen und sich entsprechendes von Grund auf selbst schreiben - PHP bringt entsprechende Funktionalitäten ja bereits mit - was allerdings viel Aufwand ist.

Zumal sich die Arbeit ja bestimmt auch schon andere Leute gemacht haben. Warum also nicht auf eine PHP-Klasse zurückgreifen?

Eine tolle Sache des objektorientierten Programmierens ist es, dass immer wieder benötigte Routinen abgekaspelt werden, so dass sie später sehr einfach an den unterschiedlichsten Stellen verwendet werden können ohne dass man den Programmiercode im Detail kennen muss. Es reicht aus, wenn die Schnittstellen bekannt sind.
Damit lässt sich die Klasse später auch nochmals verändern ohne dass die verschiedenen Stellen, zu denen diese verwendet wird, angepasst werden müssen, da die Schnittstellen im Normalfall unverändert bleiben.

Hinter dem Prinzip des objektorientierten Programmierens steckt noch weit mehr, doch das würde an dieser Stelle zu weit führen. Dieses Wissen genügt an dieser Stelle, um eine fertige PHP-Klasse einzusetzen.

Die PHP-Mailklasse, die ich hier verwenden möchte, stammt von Richard Heyes und nennt sich Rmail for PHP.

Anhand eines einfachen Beispiels möchte ich kurz aufzeigen, wie man damit eine einfache Mail schreibt:

require_once 'Rmail.php'; // hier den Pfad und Dateinamen angeben, an dem ihr die Datei der Mailklasse abgelegt habt (diese muss selbstverständlich auch mit hochgeladen werden)
 
$mail = new Rmail(); //  erzeugt ein neues Objekt von Rmail, welches uns die Funktionalität der Klasse zur Verfügung stellt
$mail->setFrom("Absendername <name@xyz.de>"); // Absender
$mail->setCc('Name des weiteren Empfängers <cc_empfaenger @xyz.de>'); // weitere Empfänger
$mail->setBcc('Name des unsichtbaren Empfängers <bcc_empfaenger @xyz.de>'); // unsichtbare Empfänger
$mail->setPriority('high'); // Wichtigkeit der Mail
$mail->setSubject("Betreff hier eingeben"); // Betreff
$mail->setText("Hallo\n\nBeispieltext"); // \n erzeugt einen Zeilenumbruch
 
$mail_result = $mail->send(array('empfaenger@xyz.de')); // verschickt die Mail mit den angegeben Daten

Diesen Code fügt man einfach an die benötigte Stelle in seinem Programm ein. Selbstverständlich kann man statt der direkten Eingabe der Texte und Mailadressen auch Variablen einsetzen und das ganze so noch flexibler machen. Es werden natürlich auch nicht alle der oben vorgestellten Angaben benötigt.

Die Klasse bietet zudem auch noch weitere umfassende Möglichkeiten, z.B. die Einbindung von Attachments, die Unterstützung von HTML innerhalb der Mail und mehr.

Verwandte Artikel


Diese Seite bookmarken bei:


5 Responses to “PHP-Mailklasse”

  1. Base sagt:

    Kann es auch UTF-8 Emails verschicken?

  2. alex sagt:

    Hallo Daniel,

    finde die Klasse(n) sind ziemlich elegant und sauber umgesetzt (sogar ausführlich kommentiert, was ja nicht gerade alltäglich ist). Aufgrund der Tatsache, dass sogar an verschiedene Codierungsformen und automatisiertes Einbetten von Inline-Attachments gedacht wurde, sollte sich damit recht schnell ein Newsletter-Tool zusammenstellen lassen.

    Grüße
    Alex

  3. Antu sagt:

    Uni/Schule geht natürlich vor. Da bleibt mir (und den anderen Lesern) wohl nichts anderes übrig als zu warten. :)

  4. Moin Antu,

    leider spannt mich die Uni zeitlich doch zu stark ein, als dass ich aktuell zum Bloggen komme. Wie es weitergehen wird, wird sich im Herbst zeigen.

  5. Antu sagt:

    Hey!

    du hast schon lange nichts mehr geschrieben. Bloggst du nicht mehr? Fände ich schade, ich fand dein Blog ziemlich interessant. :-)

    Gruß,
    antu

Leave a Reply