Mail senden (schon wieder)

Hallo,

ich weiß, dass so etwas Änliches erst besprochen wurde, aber das hilft mir nicht weiter.

Also, ich habe im Editor das hier:

<?php mail('[email protected]', 'Mein Betreff', 'nachricht');<br />?\>

eigegeben und dann als test.php gespeichert. Bei [email protected] habe ich natürlich meine E-Mail-Adresse eingegeben.(die ’ aber da gelassen)

Nun habe ich ein Doppeltklick auf die Datei gemacht, doch es kam keine E-Mail an. Was mache ich falsch?

mfg

Doran

Hi,
hast du in der php.ini die SMTP Einstellungen denn geändert?
Akzeptiert dein Provider denn via SMTP Mails ohne Authentifizierung?

Oder andere Frage: weißt du - unabhängig von php - wie das versenden von Mails via SMTP und POP3 funktioniert?

Gruss
Joey

Hi,
hast du in der php.ini die SMTP Einstellungen denn geändert?

Hallo,

Ich habe heute erst mal mit php angefangen. Brauche ich dazu eigentlich einen Webserver, oder kann ich einfach die Datei dann so anklicken (Dann öffnet sich bei mir Firefox)?
Wo finde ich die php.ini?

Was für ein Programm brauche ich da eigentlich noch?

mfg

Doran

Brauche ich dazu
eigentlich einen Webserver,

Ja, mit PHP-Parser.

oder kann ich einfach die Datei
dann so anklicken (Dann öffnet sich bei mir Firefox)?

Kannst du, aber dann wird sie nicht ausgeführt.

Beschäftige dich mal mit den PHP-Grundlagen…

Hallo,

ich habe jetzt KF Websever installiert, und php gedownloaded und auch installiert.

Dann habe ich im KF Webserver php aktiviert (MIME -> CGI Filter Mappings
Dort bei MIME-Type habe ich „application/x-httpd-php“ eingegeben.
Dann darunter den Pfad zur php-cgi.exe)

So, wenn ich nun über meinen Webserver die Index.html aufrufe kommt aber
nur eine leere Seite.

Der Quelltext der Index.html ist:

<?xml version="1.0" encoding="utf-8"?>Hi all<?php phpinfo();<br /> ?\>

was mache ich falsch?

Die php.ini habe ich natürlich ins Widowss-Verzeichnis kopiert.
Aber verändert habe ich darin nichts.

mfg

Doran

Hi,
keine Ahnung was der KF Webserver ist

aber:

wenn deine Seite index.html heißt, nimmt der Webserver an, dass es sich um eine HTML Datei handelt und schickt diese Datei ohne weitere Verarbeitung direkt an deinen Browser.

Du möchtest doch aber, dass die Datei erst durch den PHP Parser läuft - oder?

Dann gibt es zwei Möglichkeiten.

  1. du sagst dem Webserver, dass auch HTML Dateien durch den PHP Parser laufen sollen

  2. du nennst deine Datei einfach index.php statt index.html

Gruss
Joey

Hallo,

Danke für deine Antwort.
Ich habe die Datei nun Index.php genannt.
Wenn ich jetzt die Webseite aufrufe, dann braucht die Seite ewig zum laden. Im Taskmanager sehe ich dann, dass die php-cgi.exe ausgeführt wird. mein CPU ist dann zu 95% ausgelastet. Wenn ich im Taskmanager dann die php-cgi.exe beende, dann zeigt mein Browser, der immernoch die Seite versucht zu laden an: „Internal Error“.
Was kann ich da machen?

mfg

Doran

das hört sich doch stark nach einer fehlerhaften Konfiguration des Webservers an.

Da würde ich mich eher im Forum des Webserver Anbieters schlau machen.

Hallo

Das klingt ja nach Endlosschleife im Script.

Hast du da wirklich nur

<?php phpinfo();<br /> ?\>

drinstehen?

Johannes

Hallo,

Ich habe es jetzt so geschaft, dass er beim Aufruf das hier anzeigt:

Warning: mail() [function.mail]: „sendmail_from“ not set in php.ini or custom „From:“ header missing in C:\xampp\htdocs\Index.php on line 2

wie muss ich jetzt die php.ini konfigurieren, und wie sieht die mail()-Funktion dann aus, jetzt habe ich da gerade:

<?php mail("[email protected]", "Betreff", "Nachricht", "Absender(z.B. [email protected]");<br />?\>

Was muss ich machen?

mfg

Doran

<?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