mail () funktioniert nicht mehr

Diskutiere mit über: mail () funktioniert nicht mehr im Web-Programmierung Forum

  1. Der_Jan

    Der_Jan Thread Starter MacUser Mitglied

    Beiträge:
    606
    Zustimmungen:
    7
    Registriert seit:
    06.01.2004
    Moin zusammen,
    ich habe heute ein seltsames Problem auf dem Projekt www.holzwirtschaft.org entdeckt. Die Seite ist in Eigenarbeit gecodet und hat in den letzten Monaten soweit problemlos funktioniert.

    Heute habe ich nun festgestellt, dass keine Seite mit integrierter mail()-Funktion mehr funktioniert. Der Browserball dreht sich zwar hübsch, abgearbeitet wird die Funktion jedoch nicht. Hätte ich nun an einer Seite etwas verändert (was ich nicht habe), könnte ich es mir selber erklären - aber hier funktioniert keine mail()-Funktion mehr, sodaß ich an ein serverseitiges Problem glaube. Da Servertechnik nicht gerade meine Stärke ist, hab ich keine Ahnung, wie ich diesen Effekt beurteilen soll und vor allem beheben kann.

    Wäre sehr dankbar, wenn mir hier jemand nen Tipp geben könnte, wo man den Fehler suchen kann.

    Gruß
    Der Jan

    P.S.: Bitte jetzt nicht wie wild die Mailfunktionen austesten. Wenn Ihr es auf einen Test ankommen lassen wollt, dann bitte hier
     
    Zuletzt bearbeitet: 22.05.2005
  2. SaC

    SaC MacUser Mitglied

    Beiträge:
    386
    Zustimmungen:
    0
    Registriert seit:
    10.10.2004
    Ausfall des Mailservers?
    Gibt mail() irgendeine Fehlermeldung aus? Wenn du @mail() verwendest, mach mal das @ weg und poste hier die Ausgabe.
     
  3. Der_Jan

    Der_Jan Thread Starter MacUser Mitglied

    Beiträge:
    606
    Zustimmungen:
    7
    Registriert seit:
    06.01.2004
    Leider keine Fehlermeldung.

    Mails verschicke ich (wenn es denn klappt :)) über

    mail("$an","$betreff","$inhalt","From: $avorname $anachname <$aemail>");

    Gruß
    Der Jan
     
    Zuletzt bearbeitet: 22.05.2005
  4. maceis

    maceis MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    Registriert seit:
    24.09.2003
    Um den Onlinestatus des Mailservers zu prüfen, kann ich folgenden Codeschnipsel anbieten:
    PHP:
    <?php
        $server
    ="mail.provider.com:25";
        echo 
    "<h3>Status Mailserver</h3>";
        
    $check=explode(":",$server);
        if (@
    fsockopen($check[0],$check[1],&$errno, &$errstr2))
        {
        echo 
    "Mailserver is <font color=green><b>Online</b></font><br>";
        }
        else    
        {
        echo 
    "Mailserver is <font color=red><b>Offline</b></font><br>
        Es k&ouml;nnen derzeit leider keine Mails gesendet werden"
    ;
        exit;   
        };
    ?>
    Man muss nur noch "mail.provider.com" durch den zuständigen Mailserver ersetzen.
    Ich setze das auf meinem Mailformular ein;
    Die Formularseite wird so nur dann aufgerufen, wenn der Mailserver auch verfügbar ist.

    HTH
     
  5. Jakob

    Jakob MacUser Mitglied

    Beiträge:
    1.067
    Zustimmungen:
    21
    Registriert seit:
    05.01.2004
    Kann's sein, dass Dein Provider sein PHP aktualisiert hat? Ab ner bestimmten Version kann man die Variablen, die von dem Kontaktformular eine Seite vorher kommen nicht mehr einfach weiterbenutzen, sondern muss sie sich erst wieder „holen“:

    Kontaktformular:
    PHP:
    <form action="mail.php" method="post">
    <
    input name="Feld1" />
    <
    input type="submit" />
    </
    form>
    Wenn Du das jetzt los schickst, kannst Du im nächsten Schritt nicht einfach mehr die Variable $Feld1 nehmen, sondern musst $_POST['Feld1'] nehmen.

    Im Grunde kannst Du auch im neuen Dokument schreiben
    $Feld1=$_POST['Feld1'];
    Dann klappt der Rest ohne Umschreiben.

    Wenn Die Variablen per Get (über die Adresszeile) weitergegeben werden, brauchst Du natürlich $_GET['…'].

    Das man nie Post- und Get-Variablen trauen soll, überlass ich jetzt mal jemand anderem :)
     
  6. wegus

    wegus MacUser Mitglied

    Beiträge:
    15.029
    Zustimmungen:
    1.314
    Registriert seit:
    13.09.2004
    Der Tipp von Jakob ist ziemlich gut! Zumal in neueren PHP-Versionen die alten arrays $HTTP_POST_VARS und $HTTP_GET_VARS nicht mehr mit Werten belegt werden. Viele Programme nutzen noch diese alten Variablen. Ab PHP5 muß dazu in der php.ini ein Wert gesetzt werden, wenn noch die alten arrays verwendet werden!
     
  7. master_p

    master_p MacUser Mitglied

    Beiträge:
    1.065
    Zustimmungen:
    23
    Registriert seit:
    31.01.2005
    Das nennt sich "Global Values" und ist in PHP5 standardmäßig nicht mehr aktiviert, korrekt. Kann man in der php.ini aber wieder neu machen :D
     
  8. Jakob

    Jakob MacUser Mitglied

    Beiträge:
    1.067
    Zustimmungen:
    21
    Registriert seit:
    05.01.2004
    Ist auch schon ab einer 4.x deaktiviert und das aus gutem Grund. Ich würd's deaktiviert lassen. An das bisschen deklarieren gewöhnt man sich schnell und es ist sicherer.
     
  9. Nogger

    Nogger MacUser Mitglied

    Beiträge:
    367
    Zustimmungen:
    0
    Registriert seit:
    03.08.2004
    Das ist nicht richtig.
     
  10. wegus

    wegus MacUser Mitglied

    Beiträge:
    15.029
    Zustimmungen:
    1.314
    Registriert seit:
    13.09.2004
    @Nogger: doch, daß ist es leider wohl! Du muß extra in der php.ini einen Wert auf yes setzen (Bezeichner muß ich nachschlagen), sonst sind diese Felder IMMER leer und $_POST/$_GET als neue Arrays nat. nicht.
    Ich bin selbst mit einer phpBB-Version und noch einer anderen Applikation ( ich glaub es war Mambo) darauf hereingefallen. Daraufhin hab ich es ausprobiert und es ist so - bei PHP 5.03 und PHP 5.04 hab ich selbst erlebt. Der default steht so, daß die long_arrays nicht belegt werden in der php.ini! Die long-arrays gelten als deprecated laut PHP.

    Btw: ich laß mich wirklich gern korrigieren, aber dann bitte mit der Aussage wie es denn nun richtig ist! Ich merke und finde meine Fehler durch lange Erfahrung selbst. Andere die hier lernen wollen vielleicht nicht und denen ist mit einem richtig oder falsch allein eher selten geholfen!
     
Die Seite wird geladen...
Ähnliche Themen - mail funktioniert Forum Datum
Mail API gmx, web.de, hotmail Web-Programmierung 05.07.2012
PEAR Mail: sendmail -i "Ueberreaktion" Web-Programmierung 23.02.2012
Email mit vordefinierter Antwortvorlage zum schnellen beantworten der Email Web-Programmierung 25.01.2011
mail() mehrfach aufrufen Web-Programmierung 14.01.2011
E-Mail-Adressen aus Datenbank in Thunderbird importieren Web-Programmierung 04.12.2010

Diese Seite empfehlen

Benutzerdefinierte Suche