PHP-Emailformulare funktionieren nicht mehr

Alles, was PHP betrifft, kann hier besprochen werden.

PHP-Emailformulare funktionieren nicht mehr

Postby achim » 10. July 2006 09:32

Hallo,

Ich benutze die aktuelle XAMPP-Version für Linux. Bis vor einigen XAMPP-Updates hat der Versand meiner PHP-Emailformulare immer problemlos funktioniert. Dann auf einmal nicht mehr. PHP selber funktioniert, aber meine PHP-Emailformulare werden nicht mehr verschickt.

Die Struktur meiner PHP-E-Mailformulare sieht so aus:

<?php
$Email = "absender@mail.de";
$mailbody = "Irgendein Text";
mail("test@meinedomain.de", "Ein Besucher", $mailbody, "From: $Email");
?>

Wurde igendetwas in den letzten Updates deaktiviert., das ich noch irgendwo aktivieren muß?

Danke für eure Hilfe.

Gruß, Achim
Explore Your Limits
achim
 
Posts: 85
Joined: 27. March 2004 08:48
Location: Berlin

Postby Stefan » 10. July 2006 22:11

Bis vor einigen XAMPP-Updates hat der Versand meiner PHP-Emailformulare immer problemlos funktioniert.


"register_globals" vielleicht? Such mal hier im Forum danach.
User avatar
Stefan
 
Posts: 475
Joined: 26. December 2002 22:36
Location: Mitten in der sonnigen Südpfalz

Postby Wiedmann » 10. July 2006 22:19

Stefan wrote:register_globals" vielleicht? Such mal hier im Forum danach.

Bei dem obigen Fünfzeiler spielt das keine Rolle.

achim wrote:aber meine PHP-Emailformulare werden nicht mehr verschickt.

mail() würde bei deinem obigen Testscript also "true" zurückliefern? Damit konnte mail() dann die Mail an den Sendmail-Wrapper übergeben und für PHP ist die Sache erledigt.
--> Schau in den Logs von deinem Mailserver nach was dieser für ein Problem hat.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby KingCrunch » 10. July 2006 23:35

1. Es wird nirgends geprüft, ob mail() true liefert.
2. Das stellt, wie er selbst sagt, nur die Struktur dar.

Insofern kann es weiterhin ein register_globals-Problem sein. Ich verweise mal kurz hierauf und würde mir wünschen nicht nur irgendeine beliebige Struktur zu sehen, sondern mal konkreten Code, wo das Problem auftritt.
Nicht jeder Fehler ist ein Bug ...
KingCrunch
 
Posts: 1724
Joined: 26. November 2005 19:25

Postby Wiedmann » 10. July 2006 23:55

KingCrunch wrote:1. Es wird nirgends geprüft, ob mail() true liefert.

Deshalb ja auch: "mail() würde .. also "true" zurückliefern?"

KingCrunch wrote:2. Das stellt, wie er selbst sagt, nur die Struktur dar.

Yup. Und in dieser Struktur kommt nirgends was vor, was durch "register_globals" tangiert wird.

KingCrunch wrote:Insofern kann es weiterhin ein register_globals-Problem sein.

Stimmt, es könnte es durchaus sein...
Mal ganz grundsätzlich:
Ich weis ihr ratet hier hier gerne was bei jemanden ist/sein könnte. Ich jedenfalls nicht. Wenn jemand ein Demoscript postet, dann geh ich logischerweise davon aus, dass dies ein Script ist, mit dem ich (sowie der OP) das Problem reproduzieren kann. Alles andere macht keinen Sinn. Und ich denke einen korrekte und vollständige Fehlerbeschreibung können hier alle Helfer erwarten. Und wenn die Fehlerbeschreibung nicht vollständig ist, dann frage ich danach (und rate nicht), in der Hoffung das der OP beim nächsten Problem es gleich richtig macht. (mal abgesehen davon das er dadurch mehr lernt, als einen hingeworfenen Knochen zu benutzen und nicht weiter darüber nachzudenken wenn's funktioniert)

Unabhängig davon ist der Rückgabewert von mail() und das Log vom Mailserver das Mittel der Wahl, um hier den Fehler, ohne zu raten, einzugrenzen.

BTW: Als Prgrammierer von PHP-Scripts wird er ja wohl als erstes überprüft haben, ob benutzte Variablen auch wirklich das enthalten was er erwartet, sowie das error_reporting passend eingestellt haben ;-) Das sind ja dann wirklich die Standards bei der Fehlersuche...
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby achim » 11. July 2006 07:12

Hallo Apachefriends,

vielen Dank für Euer großes Engagement zu helfen!

Wie bereits erwähnt, mein kleines PHP-Skript ist aus einem bis vor einigen XAMPP-Updates funktionierendem PHP-E-Mailformular. Ich habe für dieses Posting lediglich meine E-Mailadresse geändert, ansonsten hat es tatsächlich mal genau so funktioniert.

Aber hier noch mal das vollständige Skript. Es verschickt ledigllich eine E-Mail, daß jemamd auf meiner Website eine bestimmte Seite besucht hat.


<html>
<head>
<title>PHP-Info-Mail verschicken</title>
</head>

<body>
<h2>Diese Seite verschickt eine PHP-Info-Mail</h2>

<?php
$Email = "absender@mail.de";
$mailbody = "Ich war hier";
mail("test@meinedomain.de", "Ein Besucher", $mailbody, "From: $Email");
?>

</body>
</html>


Meine E-Mailadresse habe ich wieder geändert.

register_globals un php.ini Zeile 325 habe ich gecheckt uns steht default auf on.

Ihr sprecht hier öfters mal von Mailserver. Postfix habe ich deaktiviert, weil der Clou bei PHP gerade der ist, daß man keinen Mailserver für PHP-E-Mailformulare aktivieren muß - soweit ich weiß.

Nochmals vielen Dank!

Gruß, Achim
Explore Your Limits
achim
 
Posts: 85
Joined: 27. March 2004 08:48
Location: Berlin

Postby Stefan » 11. July 2006 12:18

Ach Gott... Carsten, ein Lob auf Deine Ratio.

Postfix habe ich deaktiviert, weil der Clou bei PHP gerade der ist, daß man keinen Mailserver für PHP-E-Mailformulare aktivieren muß - soweit ich weiß.


Der Clou ist, daß PHP eine nette Funktion bereitstellt, mit der man, ohne genau zu wissen wie sie es tut, eine Mail an den Mailserver weitergeben kann. Der sollte natürlich schon laufen. Also Damit meine ich eben z.B Postfix.

un tschüß, Stefan

//Nachtrag.
Du kannst auch einen externen mta benutzen, wenn Du keinen eigenen brauchst.
User avatar
Stefan
 
Posts: 475
Joined: 26. December 2002 22:36
Location: Mitten in der sonnigen Südpfalz


Return to PHP

Who is online

Users browsing this forum: No registered users and 47 guests