<?php : mail("[email protected]", "Betreff", "Nachricht", "Absender(z.B.
[email protected]");
?\>
Der Absender muss in der Form
From:[email protected]
angegeben werden.
Wenn du Usereingaben für die mail-Funktion benutzt, dann
solltest du dir unbedingt [FAQ:2435] durchlesen, weil man da
leicht Sicherheitslücken einbauen kann.
Alternativ kannst du auch in der php.ini einen Standardabsender einstellen. Der betreffende Abschnitt sieht bei mir so aus:
[mail function]
; For Win32 only.
SMTP = localhost
smtp\_port = 25
; For Win32 only.
sendmail\_from = [email protected]
Wichtig ist natürlich, dass der SMTP-Server, der da angegeben ist, wirklich existiert.
Allerdings gibt es hier ein Problem: Öffentliche SMTP-Server wie etwa der von web.de verlangen Benutzername und Passwort, was aber von der PHP-SMTP-Schnittstelle nicht unterstützt wird. Ein eigener SMTP-Server auf dem gleichen Rechner kann zwar installiert und ohne Anmeldung betrieben werden, allerdings hat er oft Probleme beim Weiterleiten der Mails ins Internet. Der Grund: Mails, die von einem SMTP-Server mit Einwahlverbindung stammen, werden beim Eintreffen auf Servern wie web.de oft als Spam eingestuft und abgelehnt.
Eine mögliche Lösung: Der Kontakt zum SMTP-Server erfolgt nicht durch PHP, sondern durch einen separaten SMTP-Client, der dann auch Benutzername und Passwort mitsenden kann. Siehe dazu hier: http://www.svenkubiak.de/2008/07/14/fake-sendmail-se…
Die Einträge SMTP, smtp_port und sendmail_from in der php.ini sind dann wirkungslos, die entsprechenden Werte müssen dann in der sendmail.ini eingetragen werden.
Johannes