E-Mail Versand mit PHP ganz einfach unter XAMPP testen

Erstellt am 01.11.2016 | Zuletzt geändert am 20.11.2016

E-Mail Versand unter XAMPP nicht möglich?

Bekommst du eine Fehlermeldung, wenn du unter XAMPP eine E-Mail mit der mail-Funktion versenden möchtest? Wahrscheinlich schon, sofern du XAMPP diesbezüglich noch nicht konfiguriert hast.

Bei einer lokalen XAMPP-Installation ist es durchaus möglich, E-Mails tatsächlich zu versenden. Dieser Artikel widmet sich jedoch nicht dem Versenden von E-Mails unter XAMPP, sondern hier geht es in erster Linie darum, die Mail-Funktion zu testen. Dazu ist kein E-Mail-Versand notwendig, da es ausreicht, wenn die zu versendende E-Mail lokal gespeichert wird. Wie man dies in XAMPP einrichten kann, wird nachfolgend erklärt.

E-Mail Funktion bei XAMPP einrichten

Glücklicherweise ist es sehr einfach, die gewünschte E-Mail-Funktion unter XAMPP einzurichten. Lediglich zwei Schritte sind hierfür notwendig:

1. Schritt: Ändern der Datei php.ini

Wir öffnen die Datei INSTALLATIONSPFAD/xampp/php/php.ini und ändern den Abschnitt zur Mail-Funktion wie folgt:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
[mail function]
; For Win32 only.
; http://php.net/smtp
;SMTP=localhost
; http://php.net/smtp-port
;smtp_port=25

; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = me@example.com

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = C:\xampp\mailtodisk\mailtodisk.exe

; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail().
;mail.force_extra_parameters =

; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
mail.add_x_header=On

; The path to a log file that will log all mail() calls. Log entries include
; the full path of the script, line number, To address and headers.
;mail.log =
; Log mail to syslog (Event Log on Windows).
;mail.log = syslog

2. Schritt: Webserver neu starten

Nach den Änderungen muss der Webserver neu gestartet werden. Hierfür öffnen wir das XAMPP Control Panel (INSTALLATIONSPFAD/xampp/xampp-control.exe) und beenden den Apache-Server. Anschließend muss dieser wieder gestartet werden.

Hinweis:
Oftmals ist es nicht möglich, Apache über das Control Panel zu beenden. In diesem Fall einfach den Prozess httpd.exe mit dem Taskmanager beenden.

E-Mails lesen

Die E-Mails, welche wir ab sofort mit PHP versenden, werden nicht wirklich versendet, sondern im Pfad INSTALLATIONSPFAD/xampp/apache/mailoutput/ als *.txt-Dateien gespeichert. Diese können wir ganz einfach mit unserem Standard-Mailprogramm öffnen, indem wir beispielsweise die Endung *.txt in *.eml ändern.

Teile diesen Beitrag