Tipps & Tricks 30.12.2004, 23:45 Uhr

Lokalen SMTP-Server für PHP einrichten

Ich habe auf meinem Windows-2000-Computer mit Apache einen lokalen Webserver eingerichtet und betreibe darauf ein PHP-CMS-System. Mein Problem: Wenn Sich jemand registriert oder ein Kontakformular ausfüllt, wird keine E-Mail versendet. Wie kann ich dies beheben?
PHP besitzt mit "mail()" [1] eine nützliche Funktion zum Versenden von E-Mails. Doch damit der Befehl überhaupt funktioniert, benötigt man einen SMTP-Server [2], zu dem PHP eine Verbindung herstellen kann. Bei Windows 2000 Server wird ein SMTP-Server automatisch, bei Windows 2000 Professional nach Wunsch installiert. Wie Sie den SMTP-Dienst von Windows 2000 einrichten und gegen Missbräuche schützen, erfahren Sie hier [3]. Nun muss die Konfigurationsdatei "php.ini", welche Sie im Windows-Verzeichnis finden, angepasst werden. Passen Sie dazu folgende Stelle an:
[mail function]
SMTP = localhost
smtp_port = 25
sendmail_from = me@localhost.com
Wenn Sie den lokalen Rechner als SMTP-Server verwenden, setzen Sie die Einstellung "SMTP" auf "localhost". Alternativ dazu können Sie z.B. auch den SMTP-Server Ihres Providers angeben, sofern dieser nicht eine spezielle Authentifizierung erfordert. Ab PHP 4.3.0 können Sie den Port des Servers mit "smtp_port" ebenfalls verändern, Standard ist 25. Mit "sendmail_from" geben Sie den Absender der E-Mails an. Mit der mail()-Funktion von PHP lässt sich dieser mit dem Header des E-Mails später noch verändern [4]. Benutzen Sie den STMP-Server Ihres Providers, funktioniert der Mail-Versand meistens nur, wenn Sie unter "sendmail_from" Ihre Mailadresse bei dem Provider angeben.



Kommentare
Es sind keine Kommentare vorhanden.