Der Martin: form-mailer

Beitrag lesen

Hallo,

zum vorigen posting noch:
das ist die fehlermeldung:

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\Programme\xampp\htdocs\myphp\formmailertest.php on line 45
Die Mail konnte nicht versendet werden.

okay, sowas in der Art hatte ich mir gedacht - also keine Explorer-Fehlermeldung, sondern eine von PHP. Und das Problem ist genau das, was ich auch angedeutet habe: Du hast PHP noch nicht verraten, über welchen Mailserver du eigentlich Mails verschicken willst/darfst. Und genau diese Angaben stehen in der php.ini, der Konfigurationsdatei von PHP.

In der Default-Installation stehen dort irgendwo folgende Zeilen:

[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25
sendmail_from = <mailadresse>

In der Zeile "SMTP = " ergänzt du bitte anstatt localhost den SMTP-Server deines Providers, über den du sonst normalerweise deine Mails versendest (bei GMX wäre das z.B. mail.gmx.net), smtp_port bleibt normalerweise auf 25 stehen, das ist der Standardwert. Und nach "sendmail_from = " trägst du deine Mailadresse ein, die dann als Absender ausgehender Mails eingetragen wird.

Schwierig wird es, wenn dein Mail-Provider eine Authentifizierung beim SMTP-Zugang erfordert (SMTP-AUTH). Soweit ich weiß, kann die Windows-Version von PHP damit nicht umgehen; dann müsstest du wahrscheinlich den SMTP-Dialog auf Socket-Ebene "von Hand" nachbilden. Das wäre dann allerdings eine elende Fleißarbeit - es würde im Prinzip bedeuten, einen (E)SMTP-Client in PHP zu programmieren. Einfacher (aber nicht trivial) wäre es da schon, lokal einen eigenen SMTP-Mailserver zu installieren.

Good luck,
 Martin

--
F: Was macht ein Offizier, der in der Nase bohrt?
A: Er holt das Letzte aus sich heraus.