E-Mail aus XAMPP/localhost

Tutorial | E-Mail from XAMPP/localhost | © Geschütztes Bildmaterial | Copyrighted Picture

E-Mail from Web-Site@localhost

PHP-sendmail in einer XAMPP-Installation konfigurieren

 

Um die Funktion von beispielsweise Kontaktnachrichten oder auch Benutzerkommentaren via PHP-sendmail-Funktion vom lokalen Web-Server aus vor Veröffentlichung zu testen, muss XAMPP konfiguriert werden.

Wir zeigen Ihnen, was zu tun ist.

Die Herausforderung

Die gesamte Projektumgebung einer Website besteht aus drei Teilen: der Entwicklungsumgebung (also einem lokalen Arbeitsverzeichnis irgendwo im File-System), der Testumgebung (einem lokalen Webserver; localhost) und der Produktionsumgebung (die Remote-Webserver im WWW, auf die Besucher schließlich zugreifen). Der Arbeitsablauf gestaltet sich demnach so: entwickeln, publizieren und testen auf localhost, publizieren auf dem Webserver der Website.

Die Testumgebung, den lokalen Web-Server haben wir mit XAMPP eingerichtet.

Web-Seiten nutzen gerne die PHP-Funktion sendmail, um Benutzereingaben oder automatisierte Nachrichten an den Web-Administrator oder den Content-Manager zu senden. Dafür nutzen Web-Server Funktionen, die von Web-Hosting-Plattformen bereitgestellt werden. Sie haben bereits mindestens einen E-Mail-Account bei einem Provider, den Sie dafür nutzen? Dann ist das kein Problem: Es funktioniert!

Anders für Ihren lokalen Web-Server: Da muss die Funktion sendmail zunächst konfiguriert werden. Wir zeigen Ihnen hier, wie die sendmail-Funktion in der XAMPP-Umgebung zu konfigurieren ist.

Der Arbeitsauflauf

Es sind vier Arbeitsschritte nötig:

  1. 1. Bereitstellung der Zugangsdaten eines geeigneten SMTP-E-Mail-Accounts
  2. 2. Anpassen der php.ini in »xampp\php\php.ini«
  3. 3. Anpassen der sendmail.ini in »xampp\sendmail\sendmail.ini«
  4. 4. Ggf. die Ausführungsrechte für die Datei /xampp/sendmail/sendmail.exe setzen

Wichtiger Hinweis zum Punkt 4: Ausführungsrechte unter Windows 8 setzen!

 

Uns haben etliche Anfragen von Benutzern erreicht, die unter Windows 8 ihre E-Mails zwar scheinbar erfolgreich senden konnten, aber keine empfangen haben.

Unter Windows 8 (ggf. auch bei älteren Versionen) müssen zusätzlich die Ausführungsrechte für das XAMPP-Programm sendmail.exe gesetzt werden. Wie das geht, erklären wir weiter unten am Ende dieser Beschreibung. Jetzt sind zunächst die Zugangsdaten zu besorgen und die ini-Dateien anzupassen.

1. Einrichtung bzw. Bereitstellung des E-Mail-Accounts

Es empfiehlt sich, für diesen Zweck eine eigene E-Mail-Adresse einzurichten. Die meisten Web-Hoster bieten in den Paketen neben dem Webspace mit den URLs zahlreiche, frei belegbare E-Mail-Accounts an. Nutzen Sie einen für Nachrichten aus der Testumgebung ihrer Web-Projekte.

Notieren Sie sich die Zugangsdaten. Sie benötigen:

  • die SMTP-Adresse
  • die SMTP-Port-Nummer
  • die Login-Daten (E-Mail-Adresse, Passwort)

 

2. Anpassen der php.ini in »xampp\php\php.ini«

Erstellen Sie eine Sicherheitskopie der Datei »xampp\php\php.ini« unter einem neuen Namen (z. B. »xampp\php\php.ini.bup«).

Finden Sie in der Datei »xampp\php\php.ini« den Abschnitt, der mit »[mail function]« eingeleitet wird. Nehmen Sie folgende Anpassungen vor:

Anmerkung: Die hellgrauen Kommentarzeilen dienen der Erläuterung an dieser Stelle und sind in Ihrer originalen Datei nicht zu finden. Die roten Textteile sind anzupassen.

Tipp: Schreiben Sie Zeilen, die Sie ändern möchten, neu! Lassen Sie die originalen Zeilen stehen, kommentieren Sie sie nur aus, in dem Sie ein Semikolon (";") an den Zeilenanfang setzen.

 
[mail function] ; SMTP-Adresse des Providers Ihres E-Mail-Accounts eintragen ; SMTP = localhost SMTP = smtp.domain ; Vorgegebene SMTP-Port-Nummer eintragen ; smtp_port = 25 smtp_port = port-number ; Absendername eintragen, idealer Weise ist das der Name des Accounts sendmail_from =Website@localhost ; Wenn die E-Mail an einen E-Mail-Account geschickt werden soll, ; aktivieren Sie diese Zeile (Kommentar-Zeichen entfernen): ; sendmail_path = »\«\xampp\sendmail\sendmail.exe\« -t«   ; Wenn die E-Mail stattdessen nur einfach in das lokale Verzeichnis ; \xampp\mailoutput auf Festplatte geschrieben werden soll, ; aktivieren sie diese Zeile (Kommentar-Zeichen entfernen): ; sendmail_path = »\xampp\mailtodisk\mailtodisk.exe«
 

3. Anpassen der Datei »xampp\sendmail\sendmail.ini«

Erstellen Sie eine Sicherheitskopie der Datei »xampp\sendmail\sendmail.ini« unter einem neuen Namen (z. B. »xampp\sendmail\sendmail.ini.bup«).

Finden Sie in der Datei »xampp\sendmail\sendmail.ini« den Abschnitt, der mit »[sendmail]« eingeleitet wird. Nehmen Sie folgende Anpassungen vor:

 
[sendmail] ; you must change mail.mydomain.com to your smtp server, ; Setzen Sie hier also die tatsächliche SMTP-Adresse ein: smtp_server=smtp.domain ; smtp port (normally 25) ; Setzen Sie hier die tatsächliche SMTP-Port-Nummer ein: smtp_port=port-number ;default_domain=mydomain.com ; Setzen Sie hier den tatsächlichen Domain-Namen ein: default_domain=domain.de ; if your smtp server requires authentication, ; modify the following two lines ; Setzen Sie hier die Werte ein, wenn das Konto Authentifikation verlangt, ; löschen Sie dann die einleitenden Kommentarzeichen ";": ; auth_username={nur, wenn vom Provider verlangt} ; auth_password={nur, wenn vom Provider verlangt} ; if your smtp server uses pop3 before smtp authentication, modify the ; following three lines. do not enable unless it is required. ; Setzen Sie nur dann Werte ein, wenn es der Provider verlangt! ; pop3_server={pop3-Adresse des Providers} ; pop3_username={E-Mail-Adresse des Accounts} ; pop3_password={Passwort des Accounts} ; force the sender to always be the following email address ; Wenn Sie es mögen, dass der Absender eindeutig ist: ; force_sender={E-Mail-Adresse des gewünschten Kontos}
 

4. Funktionstest und Dokumentation

Fertig! Sie können nun die neu eingerichtete E-Mail-Funktion testen:

  • Richten Sie das E-Mail-Konto in Ihrem E-Mail-Client ein (z. B. Microsoft Outlook), um die E-Mails empfangen zu können.
  • Starten Sie XAMPP und den lokalen Apache-Webserver neu.
  • Rufen Sie Ihre lokale Web-Seite auf.
  • Testen Sie die sendmail-Funktion über ein Formular ihrer Web-Seite.
  • Wenn alles funktioniert, notieren Sie und beschreiben Sie Ihre persönlichen Anpassungen in den beiden Dateien in einer gesonderten Datei, die Sie außerhalb der XAMPP-Installation aufbewahren. So ist sichergestellt, dass Sie künftig nötige Anpassungen (z. B. bei Updates des XAMPP-Systems) schnell und einfach nachfahren können.

Ausführungsrechte für sendmail.exe unter Windows setzen

 

Unter Windows XP, Windows Vista und Windows 7 sollte die beschriebene Vorgehensweise (Konfigurieren der ini-Dateien) bereits zum Erfolg führen. Anders unter Windows 8. Gesendete E-Mails erreichen womöglich den Empfänger nicht.

Wenn das bei Ihnen der Fall ist, sollten Sie die Ausführungsrechte des Programms sendmail.exe verändern.

Einzustellen sind: »Kompatibilitätsmodus Windows XP SP3« und »Ausführen als Administrator«. Das geht so:

  • Suchen Sie im Verzeichnis xampp/sendmail/ das Programm sendmail.exe
  • Rechter Mausklick -> »Eigenschaften« anwählen
  • Im Tab »Kompatibilität« den Knopf »Einstellungen für alle Benutzer ändern« drücken
  • Im Feld »Kompatibilitätsmodus« das Häkchen setzen.
  • In der Liste »Windows XP (Service Pack 3)« auswählen.
  • Im Feld »Einstellungen« den Eintrag »Programm als Administrator ausführen« anklicken
  • Alle Änderungen mit dem Knopf »Übernehmen« bestätigen.

Danach sollten Sie E-Mails senden und empfangen können.

 

Zusammenfassung

Um die PHP-sendmail-Funktion im Apache-Server zu aktivieren, waren vier Arbeitsschritte nötig:

  • Bereitstellung der Zugangsdaten eines geeigneten SMTP-E-Mail-Accounts
  • Anpassen der php.ini in »xampp\php\php.ini«
  • Anpassen der sendmail.ini in »xampp\sendmail\sendmail.ini«
  • Ggf. die Ausführungsrechte für die Datei /xampp/sendmail/sendmail.exe setzen

Befindet sich der E-Mail-Account bei einem Service-Provider, können Sie z. B. mit Microsoft Outlook ein E-Mail-Konto einrichten, in dem Sie die Nachrichten abholen.

Viel Spaß mit »E-Mail from Web-Site@localhost«!

Sabrina

Text | Grafik | Webdesign | Layout:

©by Reiner Makohl | Stilkunst.de
©by Sabrina | SABRINA CREATIVE DESIGN™