Suchen
Inside Wiki
Nützliche Links
phpforum.de Tipp
 
phpforum.de bei Facebook
 
phpforum.de bei Twitter
 

Zurück   PHP Forum: phpforum.de > phpforum.de Wiki > phpforum.de Wiki

PHP Wiki Dieses Wiki sammelt Lösungen, zu Problemen, welche immer wieder im Forum auftauchen.

 
 
Artikel-Optionen Ansicht
  #1  

Standard phpMailer


Der phpMailer von http://phpmailer.sourceforge.net ist eine sehr gute Klasse zum versenden von E-Mails mittels PHP. Er wird oft als Alternative für die PHP Funktion mail() verwendet.
In der aktuellen Version 2.0.x bietet phpMailer noch PHP4 Unterstützung. Ab Version 2.2.x bietet er volle PHP5 Unterstützung.

 

Tutorials - Inhalte

Features

  • Senden von E-Mails mit mehreren Empfängern(TO), Kopieempfängern(CC), Blindkopieempfängern(BCC) und Antwortemailadressen(REPLY-TO)
  • Funktioniert auf jeder Plattform
  • Versenden von HTML Mails
  • Einbetten von Bildern in Mails
  • Alternative Texte(multipart/alternative) für Clients, die kein HTML darstellen können
  • Flexibles Debugging
  • Benutzerdefinierte Mailheader
  • Simple Mail Transfer Protokoll(SMTP) Unterstützung
  • SMTP Authentifizierung
  • Unterstützung für 8bit, base64, binary und quoted-printable Codierung
  • Automatischer Zeilenumbruch(Word Wrap)
  • Unterstützung für Anhänge(Attachments)

Installation

  1. Das Zip bzw. tar.gz-File in ein beliebiges Verzeichnis entpacken
  2. Die Dateien class.phpmailer.php und smtp.phpmailer.php sowie das Verzeichnis languages/ in einen Ordner auf dem Server kopieren
  3. Zum include_path das obrige Verzeichnis hinzufügen
    PHP Quellcode:
    set_include_path(get_include_path() . PATH_SEPARATOR . "/path/to/phpmailer/dir");

    Alternativ man auch die Methode
    PHP Quellcode:
    $mail->PluginDir = "/path/to/phpmailer/dir";
    verwenden.

Beispiel



PHP Quellcode:
<?php
   // Sind die kopierten Dateien nicht im selben Verzeichnis, dann
   // den include-Pfad dorthin erweitern. In diesem Beispiel gehe
   // ich davon aus, daß es ein Verzeichnis phpmailer gibt

   // Aktueller Pfad
   $pfad = get_include_path();

   // Pfad erweitern
   $pfad .= PATH_SEPARATOR . './phpmailer';

   // Pfad setzen
   set_include_path($pfad);

   // Die Klasse einbinden
   require_once 'class.phpmailer.php';

   // Das Objekt erzeugen
   $mail = new PHPMailer();

   // Wenn mit der Language-Datei gearbeitet werden soll,
   // dann setzten wir hier die Sprache und Pfad
   $mail->SetLanguage ("de", "./phpmailer/");

   // In den meisten Fällen benutzen wir einen SMTP-Server
   $mail->IsSMTP();

   // Der SMTP-Server ist der gleiche Server, wie er im Mail-Client
   // (Outlook, Pegasus, etc) eingetragen ist
   $mail->Host     = "smtp.example.com";

   // Meistens wird eine Authentifizierung gebraucht
   $mail->SMTPAuth = true;

   // Der Benutzername, wie er im Mail-Client eingetragen ist
   // Nicht zu verwechseln mit der Mail-Adresse, bei manchen
   // Servern ist aber der Benutzername gleich der Adressse
   $mail->Username = "benutzername";

   // Und nun das Passwort, wie es auch im Mail-Client benutzt wird.
   $mail->Password = "passwort";

   // Die Absenderadresse
   $mail->From     = "absender@example.com";

   // Der Absendername, nicht zwingend erforderlich
   $mail->FromName = "Dein Name";

   // Die Empfängeradresse eintragen, der zweite Parameter ist optional
   $mail->AddAddress("willi@example.com","Willi Wacker");

   // Hier könnte man noch mehr Adressen eintragen

   // Falls CC dann (der zweite Parameter ist optional)
   $mail->AddCC("donald@example.com","Donald Duck");

   // Hier könnte man noch mehr CC's eintragen

   // Das geht natürlich auch mit BCC,
   // auch hier ist der zweite Parameter optional
   $mail->AddBCC("dagobert@example.com","Dagobert Duck");

   // Hier könnte man noch mehr BCC's eintragen

   // Ein Attachmennt ist auch kein Problem
   $mail->AddAttachment("./pdf/eine_pdf_datei.pdf");

   // Ein zweites Attachmennt ist auch kein Problem
   $mail->AddAttachment("./zip/eine_zip_datei.zip");


   // Der Betreff
   $mail->Subject  =  "Wir testen den phpMailer";

   // Wenn man eine HTML-Mail verschicken möchte
   $mail->IsHTML(true);

   // Der HTML-Body
   $mail->Body  =  "<b>Hallo,</b><br><br>alles Paletti?";

   // Der Text-Body, falls keine HTML-Mail verschickt wird
   // Aber auch bei einer HTML-Mail sollte man hier einen
   // Text angeben, falls der Empfänger keine HTML-Mails
   // lesen kann, und nicht dumm aus der Wäsche guckt.
   $mail->AltBody  =  "Ohh, keine HTML-Mail";

   // Das sollte es für die meistem Fälle gewesen sein
   // Also schicken wir die Mail ab
   if( ! $mail->Send())
   {
      echo "Mist, da hat was nicht funktioniert! <p>";
      echo "Mailer Error: " . $mail->ErrorInfo;
   }
   else
    echo "Hurra, die Mail ist raus.";
?>

Links


« Vorheriges Kapitel   Tutorials
  Nächstes Kapitel »

Erstellt von combie, 19.01.2008 am 18:50
Zuletzt bearbeitet von jumping-blueberry, 13.11.2009 am 17:14
8 Kommentare , 47786 Betrachtungen

Dieser Text steht unter der GNU-Lizenz für freie Dokumentation


 

Lesezeichen

Stichworte
mail, phpmailer, smtp, tutorial

Artikel-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu
Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
phpmailer und SSL schluggy PHP 2 25.09.2006 10:49
phpmailer m6joe PHP 7 19.09.2006 21:10
phpmailer firefox80 PHP 1 13.08.2006 09:01
Kurzanleitung phpMailer Nobody PHP 30 06.08.2005 18:14
phpmailer se1811 PHP 28 16.07.2004 15:17


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:41 Uhr.


Powered by vBulletin® Version 3.8.8 (Deutsch)
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.
Powered by NuWiki v1.3 RC1 Copyright ©2006-2007, NuHit, LLC