mail() - Prüfen, ob Nachricht gesendet werden konnte
Marco W.
- php
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!
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
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
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
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
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
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
Ich muss wohl leider doch mein Handy mal reaktivieren.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
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
Hi!
Mit der Pear-Klasse Mail() kannst du sinnvollere Rückgabewerte bekommen:
http://pear.php.net/package/Mail
Schöne Grüße
Julian