[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
[gelöst] rex_mailer Fehlermeldung unterdrücken - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
gupi
Beiträge: 286
Registriert: 20. Nov 2008, 13:49
Wohnort: Elsdorf/Rheinland

[gelöst] rex_mailer Fehlermeldung unterdrücken

28. Sep 2014, 14:14

Hallo,

ich nutze den rex_mailer um Mails zu versenden. Klappt auch ohne Probleme, solange kein Fehler auftritt. Leider gelingt es mir nicht die Fehlermeldung zu unterdrücken z.B.
Invalid address: You must provide at least one recipient email address.
Diese oder ähnliche Meldungen zerstören mir meine AJAX - Communikation zwischen Server und Client.

Mir geht es nicht um den Umgang mit Fehlern bzw. die Behandlung im PHP sript, das habe ich im Griff, sondern ich muss irgendwie den Mailer am Plappern hindern.

sowas wie :
@$mail->send ()

Code: Alles auswählen

...
    $mail = new rex_mailer ();
    $mail->WordWrap = 0;
    $mail->AddAddress ( rex_request ( 'to', 'string' ) );
    $mail->From = rex_request ( 'from', 'string' );
    $mail->FromName = rex_request ( 'sender', 'string' );
    $mail->Subject = rex_request ( subj, 'string' );
    $mail->Body = stripslashes ( $body );
...
    if (@$mail->send ()) {
      ...
    } else {
      $answer ['html1'] = "Fehler - eMail konnte nicht gesendet <br>";
      $answer['html1'] .= "Meldung: ".$mail->ErrorInfo;
    }
hat leider nichts gebracht.

Hat jemand eine Idee wie ich eine Fehlermeldung unterdrücken kann?

Danke
Gunter
Zuletzt geändert von gupi am 29. Sep 2014, 08:56, insgesamt 1-mal geändert.
read the manual first

Benutzeravatar
RexDude
Beiträge: 2543
Registriert: 22. Apr 2010, 11:24

Re: rex_mailer Fehlermeldung unterdrücken

28. Sep 2014, 17:51

Hi, warum willst du denn eine Fehlermeldung unterdrücken? Vermutlich hat sie doch ihren Sinn? In dem Fall würd ich sagen, dass der, der das Formular ausgefüllt hat, keine gültige Email-Adresse angegeben hat. Hast du da eine entsprechende Prüfung drin?

Benutzeravatar
Jan.Kristinus
Admin
Beiträge: 2166
Registriert: 24. Aug 2004, 22:11
Wohnort: Frankfurt
Kontaktdaten: ICQ Website

Re: rex_mailer Fehlermeldung unterdrücken

28. Sep 2014, 21:06

Hallo,

das ist im phpmailer schon etwas seltsam.. Weil die default Einstellung ist, dass keine Exceptions geworfen werden und daher nur eine "echo"-Ausgabe drin ist.

Diese Zeile auskommentieren:

https://github.com/redaxo/redaxo4/blob/ ... r.php#L464

und dann ist der Fehler weg. Ist natürlich beim nächsten Update wieder zu beachten.

Dennoch ist natürlich komisch, dass ein solcher Fall so auftaucht. D.h. je nachdem wie der Mailer verwendet wird, sollte die E-Mail vorher geprüft werden.

lg

Jan
Yakamara Media GmbH & Co. KG | Kaiserstrasse 69 | 60329 Frankfurt
Tel.: 069-900.20.60.30
http://www.yakamara.de/

gupi
Beiträge: 286
Registriert: 20. Nov 2008, 13:49
Wohnort: Elsdorf/Rheinland

Re: rex_mailer Fehlermeldung unterdrücken

29. Sep 2014, 08:47

Hallo Allerseits,

erstmal danke für die schnelle Antwort.
Jan schrieb:
das ist im phpmailer schon etwas seltsam.. Weil die default Einstellung ist, dass keine Exceptions geworfen werden und daher nur eine "echo"-Ausgabe drin ist.
Die Exceptions werden schon geworfen, zumindest bei $mail->send().
Ich habe eventuell ein unglückliches Beispiel mit "Invalid Address" gewählt, aber hiermit konnte ich am leichtesten einen Fehler provozieren und meine Maßnahmen testen. Mein Ziel ist es, selber die Fehleranzeige zu steuern, da stört ein echo ... das ich nicht unterdrücken kann.
Hi, warum willst du denn eine Fehlermeldung unterdrücken? Vermutlich hat sie doch ihren Sinn?
da gebe ich Dir natürlich recht, eine Fehlermeldung hat ja immer einen Sinn. Aber hier will ich das Fehlerhandling selber managen. Natürlich gehört dazu auch, bereits im Vorfeld (Client Form) zu prüfen.
Mache ich auch, aber nicht alle möglichen Fehler lassen sich so zu 100% abfangen.

Ich habe mir Jan's Vorschlag mal genauer angesehen, und das hat mir einen Workaround aufgezeigt.
Ich habe meine eigene phpMailer Klasse abgeleitet und dort das Exception Handling modifiziert sodass kein echo ... mehr aufgerufen wird.

Danke nochmals,
Gunter
read the manual first

a.albrecht
Beiträge: 141
Registriert: 17. Dez 2008, 23:43
Kontaktdaten: ICQ

Re: [gelöst] rex_mailer Fehlermeldung unterdrücken

23. Okt 2014, 15:12

Ich habe gerade herausgefunden:

Auf meinem Testserver funktioniert das ganze ohne die Fehler-Ausgabe.
Auf dem Kundenserver kommt der Fehler.

Auf dem Testserver gibt es im Addon "PHPMailer" kein Feld mit Port.
Auf dem Kundenserver gibt es das Feld Port mit dem Wert 25.

Da hier ein Unterschied ist, denke ich, dass auch hier der Fehler liegt.

Zurück zu „Allgemeines [R4]“