2009-07-16 7 views
5

Wenn mail() fehlschlägt, gibt es nicht viele Informationen darüber, was schief gelaufen ist. Ich verstehe, dass die beste Vorgehensweise ist, Ihre sendmail-Logs zu überprüfen, oder welchen Mailer auch immer PHP verwendet. Aber von einer Programmierung und pragmatisch, Sicht: auf einer Linux-gehosteten Umgebung, was kann ein PHP-Programm tun, um so viele zusätzliche Informationen zu erhalten, um den Fehler, mögliche Ursache usw. ordnungsgemäß zu protokollieren und einen brauchbaren, umsetzbaren Fehler zu erzeugen?Wie erhalten Sie zusätzliche Fehlerinformationen von PHP Mail() Fehler?

+0

Ich konnte nie Fehlerinformationen erfolgreich abrufen. Der einzige Weg, dies zu finden, ist über ein Warteschlangensystem innerhalb meiner PHP-Anwendungen, wo die Warteschlange einfach versucht, die E-Mail zu senden. – Josiah

Antwort

0

Es wird sicherlich eine bessere Antwort als diese geben, aber ich würde es auch hören wollen. Vielleicht ist eine Lösung, Ihre eigene Version der mail() -Funktion zu schreiben. Es ist nicht zu schwer. Und wenn Sie wirklich vollständige/detaillierte Informationen darüber benötigen, warum das Senden der Nachricht fehlgeschlagen ist, dann ist es vielleicht keine schlechte Idee. Es wird Ihnen sicher mehr Kontrolle geben.

+0

In einer freigegebenen gehosteten Umgebung bezweifle ich, dass ich ein externes PHP-Modul laden kann. Aber das Hauptproblem ist, dass ich wirklich, wirklich wichtigere Probleme habe, zuerst anzugehen :) –

2

Das Problem ist, dass PHP auf einem Unix-ähnlichen System die gesamte Sache nur an ein Befehlszeilenprogramm übergibt, das PHP nur die Fähigkeit gibt, "yay" oder "nay" zu sagen. Um zu tun, was Sie wollen, sollten Sie etwas wie PEAR's Net_SMTP verwenden, das tatsächlich intelligent mit dem Mail-Server kommunizieren kann.