Marco W.: mail() - Prüfen, ob Nachricht gesendet werden konnte

Hallo zusammen,
kommen wir gleich zum Thema...

$emfaenger_mail = "emfaenger@host.de";
   $ret = @mail($emfaenger_mail, "Test", "Ein bisschen Text...");
   if ($ret)
      echo "<p>Mail wurde erfolgreich gesendet!</p>";
   else
      echo "<p>Mail konnte nicht gesendet werden!</p>";

Mittels des obigen Codes wird eine Test-E-Mail an die Mail-Adresse in der Variable $emfaenger_mail gesendet.
Mit Hilfe des mail()-Rückgabewerts wird ermittelt, ob die Mail auch wirklich gesendet werden konnte. Und genau hier liegt mein Problem:

Auf meinem Rechner (localhost) mit installiertem PHP 4.3.9 gab mail() stets (richtig) zurück, ob die Mail gesendet werden konnte, und auch im Web sind zahlreiche ähnliche Codes anzutreffen, die den Rückgabewert der mail()-Funktion nutzen, um zu überprüfen, ob die Mail auch tatsächlich gesendet werden konnte.
Als ich die ganze Geschichte jedoch auf den Server hochgeladen hatte (Alturo), gibt die mail()-Funktion IMMER true zurück, unabhängig davon, ob die Mail gesendet werden konnte oder nicht.

Meine Frage nun an euch: Gibt es eine zweite Möglichkeit, zu überprüfen, ob die Mail gesendet werden konnte? Oder kennt ihr möglicherweise eine entsprechende Konfigurationsmöglichkeit des Servers, die diese Funktion aktiviert/deativiert?
Eine Support-Anfrage an den Hoster brachte bisher noch keine zufriedenstellende Lösung...

Vielen Dank für eure Hilfe schon im Voraus!

Dank und Gruß, Marco

P.S.: Danke an die Anworter meines alten Threads "Ereignis bei Seitenanzeige per history.back()"! Natürlich ist das onLoad-Ereignis die Lösung gewesen... Wiederholt herzlichen Dank für eure Antworten!

  1. Hello,

    vergiss es bitte.
    oder heißt es "vergesse es bitte"?

    Ich habe es gerade versucht, einem Testserver das Rückmelden beizubringen. Es wird in PHP immer nur rückgemeldet, ob die Delegation an das Programm des Betriebssystems erfolgreich war. Ich hab eda ein nicht eingerichtetes sendmail. Das nimmt den Auftrag auch gerne entgegen nund sagt "OK, entgegengenommen" aber leider kann es denAuftrag dann nicht ausführen und dies auch nicht mehr zurückmelden...

    Da benötigt man andere Konzepte.

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1. Hallo Tom,

      vergiss es bitte.

      Kann ich nicht!
      Das Problem ist folgendes:
      Wenn der Nutzer über den Warenkorb eine Bestellung aufgibt, wird diese per Mail an den Homepagebetreiber gesendet. Falls diese Bestellungsanforderung nicht gesendet werden kann, wird der Nutzer in keinster Weise darüber informiert. Die Folgen kannst du dir gerne selbst denken....

      Ich habe es gerade versucht, einem Testserver das Rückmelden beizubringen.

      Danke für deine Mühe!

      Es wird in PHP immer nur rückgemeldet, ob die Delegation an das Programm des Betriebssystems erfolgreich war. Ich hab eda ein nicht eingerichtetes sendmail. Das nimmt den Auftrag auch gerne entgegen nund sagt "OK, entgegengenommen" aber leider kann es denAuftrag dann nicht ausführen und dies auch nicht mehr zurückmelden...

      Da benötigt man andere Konzepte.

      Die da wären?

      Gruß und Dank, Marco

      1. Da benötigt man andere Konzepte.

        Die da wären?

        Dein Konzept ist Sch..
        Wenn Du ne Bestellung absendest, vielleicht noch über eine SSL verschlüsselte Verbindung,und du dann die Bestelldaten unverschlüsselt an den Betreiber sendest, dann ist das Unsinn und verstößt gegen den Datenschutz.
        Nu kannst das Problem sehr einfach lösen, in dem du eine DB hinten ranhängst und die Daten in dei DB eintragen läßt.
        Obendrein sollten die AGB Deines Betreibers so aussagekräftig, sein ,dass er ein Bestellbestätigung sendet, und es erst dann zum Vertragsabschluß kommt.

        ToMIRL

        1. Hello,

          Da benötigt man andere Konzepte.

          Die da wären?

          Dein Konzept ist Sch..

          Ich denke, dass wir doch langsam mal einen Brainstorming-Termin verabreden sollten ;-)))))

          Der Mittelstand (KMU) ist bald total platt, wenn die sich weiter auf Lösungen von SM-Billy verlassen.

          Harzliche Grüße aus http://www.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau
          1. Harzliche Grüße aus http://www.annerschbarrich.de

            Na Du gehst ja nie ans Telefon :-)
            Ich habs mindestens 10 mal probiert und mit deinem AB unterhalte ich mich nicht!

            TomIRL

            1. Hello,

              Harzliche Grüße aus http://www.annerschbarrich.de

              Na Du gehst ja nie ans Telefon :-)
              Ich habs mindestens 10 mal probiert und mit deinem AB unterhalte ich mich nicht!

              ruf mich tagsüber in der Agentur an: arcorworld ltd. 055 24 / 55 95
              abends bin ich immer im Home-Office unter 055 82 / 999 881 , wenn ich nicht gerade

              • für die Kollegen der bitworks Gruppe unterwegs bin
              • Trompete spielen übe
              • beim Nachbarn zum Grillen oder saufen bin
              • eben mal in der Kneipe sitze
              • unbedingt mal nach Braunschweig ins Headoffice musste
              • bei meinem Kumpel www.Peetie.de rumhänge
              • säumigen Zahlern hinterherlaufe
              • gerade eMails über "Super Viagra" lösche
              • neue Kneipenkonzepte akquiriere (das ist mein Steckenpferd)
              • bei alten Kneipenkumpels "absaufe" (zahlen können die meisten nicht mehr heutzutage)
              • Tourismuskonzeote anleiere (da bin ich im Moment ganz erfolgreich)
              • alte Häuser zum Verkauf vorstelle
                  (hier kannst Du inzwischen ganze Häuser für 10.000 Euro kaufen)
              • usw.

              Ich muss wohl leider doch mein  Handy mal reaktivieren.

              Harzliche Grüße aus http://www.annerschbarrich.de

              Tom

              --
              Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
              Nur selber lernen macht schlau
      2. Hello,

        Das Problem ist folgendes:
        Wenn der Nutzer über den Warenkorb eine Bestellung aufgibt, wird diese per Mail an den Homepagebetreiber gesendet. Falls diese Bestellungsanforderung nicht gesendet werden kann, wird der Nutzer in keinster Weise darüber informiert. Die Folgen kannst du dir gerne selbst denken....

        Ich habe das Konzept für die "Brauchbarmachung einer gute Idee" auch gerade überdacht. Das typische "mail()"-Konzept ist ungeeignet. Wieso soll ich jemandem die beriets strukturierten Daten wieder in unstruktirierter Form übermitteln? Und aaußerdem liefert mail() ja nur einen Rückgabewert ohne spezifizierten Wert.

        Besser ist es doch, die aufgelaufenen Anfragen in einer Datenbank zu sammeln und dann mittels geeigneter Webschittstelle Zugriff darauf zu gewähren. Da kann man außerdem noch ADD-ONs verkaufen und die Kontakt-Verfolgung anbieten...

        Harzliche Grüße aus http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
  2. Hi!

    Mit der Pear-Klasse Mail() kannst du sinnvollere Rückgabewerte bekommen:
    http://pear.php.net/package/Mail

    Schöne Grüße
    Julian

    --
    "Schokolade ist gut gegen Zähne."