Hallo zusammen,
ich binde auch einer Seite per Inserttag eine PHP-Datei ein, welche am Ende über das Contao-Framework eine Mail versendet. Die Seite wird per Ajax aufgerufen und gibt ein JSON-Array als Antwort zurück. Soweit so gut, funktioniert auch alles. Was ich nicht hinbekomme, ist die Prüfung ob die Mail wirklich versendet wurde weil z.B. der SMTP-Server offline ist o.ä.:
Folgender Code
PHP-Code:
...
if($objMail->sendTo(Config::get('mail-kontakt'))) {
$return['status'] = 'success';
$return['message'] = 'Erfolgreich versendet';
} else {
$return['status'] = 'error';
$return['message'] = 'Fehler beim Versand';
}
...
liefert "success" und die entsprechende Nachricht wenn der Versand erfolgreich war. Wie aber kann ich einen Fehler beim Versand abfangen und "error" zurück geben, wenn es Probleme gab? Im Moment bricht das Script einfach mit einem Error 500 ab, bzw. gibt die Contao-übliche Fehlermeldung aus, insofern "displayErrors" in der localconfig.php aktiviert ist.
VG, Frank
Edit:
PHP-Code:
$objMail->sendTo(Config::get('mail-kontakt'));
if(!$objMail->hasFailures()) {
$return['status'] = 'success';
$return['message'] = 'Erfolgreich versendet';
} else {
$return['status'] = 'false';
$return['message'] = 'Fehler beim Versand';
}
Funktioniert auch nicht. Es bleibt bei 500 (Internal Server Error)
Lesezeichen