Wellrad Fehlermeldung 'Mailer Error' [gelöst]

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
rombs
Posts: 77
Joined: Mon May 26, 2008 7:03 am
Location: Switzerland

Wellrad Fehlermeldung 'Mailer Error' [gelöst]

Post by rombs » Fri Apr 04, 2014 7:34 am

Hallo zusammen
Eigentlich funktioniert Wellrad richtig und die Bestellung wird ausgelöst, der Besteller erhält die Bestätigung und die bill.rtf, ebenso der Verkäufer (dieser hat erstaunlicherweise 2x die bill.rtf im Anhang).
Trotzdem kommt diese Fehlermeldung:
Sorry! Although an email confirmation has been sent to you, your order was not transmitted to our shop!
Please inform us by email: info@meineadresse.org
Mailer Error: Could not instantiate mail function.
Wie kann ich die Fehlersuche eingrenzen?
Last edited by rombs on Mon Apr 07, 2014 11:40 am, edited 1 time in total.
Grüsse aus der Schweiz
Rolf

Martin
Posts: 346
Joined: Thu Oct 23, 2008 11:57 am
Contact:

Re: Wellrad Fehlermeldung 'Mailer Error'

Post by Martin » Fri Apr 04, 2014 8:23 am

Hallo Rolf,

normalerweise sendet der Shop die rtf-Datei nur an den Shopbetreiber, nicht an den Kunden. Die Datei ist eigentlich nur eine Vorlage, die der Händler mit seiner Rechnungsnummer versehen und der Lieferung beilegen kann. Ich vermute, das hast Du geändert und in wrs_frontend_controller.php steht bei Dir jetzt zweimal die Zeile

Code: Select all

$mail->AddStringAttachment($bill, "bill.rtf");
ohne Kommentarzeichen? (etwa Zn. 520 und 535)

Das würde den doppelten Anhang in der Mail an den Händler erklären. Falls Du dem Kunden die RTF-Datei schicken möchtest, kommentiere mal die zweite der beiden Zeilen aus, falls nicht, die erste.

Die zitierte Fehlermeldung wird jedenfalls ausgegeben, wenn der eingebundene PHPMailer die Mail an den Kunden verschickt hat, aber Schwierigkeiten mit der E-Mail an den Händler hat. Vielleicht, mit etwas Glück, erledigen die sich ja einfach, wenn es keinen doppelten Anhang mehr gibt.

LG

Martin

rombs
Posts: 77
Joined: Mon May 26, 2008 7:03 am
Location: Switzerland

Re: Wellrad Fehlermeldung 'Mailer Error'

Post by rombs » Fri Apr 04, 2014 3:31 pm

Hallo Martin
Vielen Dank für deine schnelle Antwort.
Richtig, die Zeile war doppelt und nun kommt auch nur noch ein Anhang.
Hingegen blieb das Problem der Fehlermeldung. Komisch, denn als ich den Shop installierte, ging alles reibungslos. Zwischenzeitlich habe ich einzig eine rudimentäre französische Sprachdatei für Wellrad eingefügt. Nun habe ich ein paar Versuche mit unterschiedlichen Adressen von mir gemacht, jedoch das gleiche Verhalten. Aber alle Mails kommen an...
Hingegen wird der Warenkorb nach dem Mailen nicht (mehr) gelöscht.
Grüsse aus der Schweiz
Rolf

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Wellrad Fehlermeldung 'Mailer Error'

Post by cmb » Fri Apr 04, 2014 5:41 pm

Klappt denn das Mailen mit dem CMSimple(_XH)-Kontaktformular?
Christoph M. Becker – Plugins for CMSimple_XH

Martin
Posts: 346
Joined: Thu Oct 23, 2008 11:57 am
Contact:

Re: Wellrad Fehlermeldung 'Mailer Error'

Post by Martin » Fri Apr 04, 2014 5:58 pm

Hallo Rolf,
rombs wrote:Hingegen wird der Warenkorb nach dem Mailen nicht (mehr) gelöscht.
das ist immerhin klar – der Shop bricht, wenn er davon ausgehen muss, dass die E-Mail nicht verschickt wurde, mit der Fehlermeldung ab und leert den Warenkorb nicht mehr.

Der Rest ist aber seltsamt, dass der PHPMailer mit der zweiten E-Mail Probleme hat, mit der ersten aber nicht. Intern wurde nämlich, wenn diese Fehlermeldung ("Could not instantiate mail function") kommt, PHPs mail() verwendet. Die gibt zurück, ob die E-Mail für den Versand akzeptiert wurde oder nicht. Wieso eine Mail nicht akzeptiert, aber trotzdem verschickt wird, ist rätselhaft. (Ein Codierungsfehler, der dann irgendwie doch geschluckt wurde?)

Da es nicht am Anhang gelegen hat, bleiben als einzige Unterschiede der E-Mails eigentlich nur noch die Adresse und der Betreff, also diese beiden Zeilen:

Code: Select all

        $mail->AddAddress($this->settings['order_email'], $this->settings['company_name']);
        $mail->Subject = $this->viewProvider->mail['notify'];
Was passiert denn, wenn du dort die Sachen direkt reinschreibst:

Code: Select all

        $mail->AddAddress('rombs@example.org');
        $mail->Subject = 'Eine Bestellung'; 
LG

Martin

rombs
Posts: 77
Joined: Mon May 26, 2008 7:03 am
Location: Switzerland

Re: Wellrad Fehlermeldung 'Mailer Error'

Post by rombs » Sat Apr 05, 2014 9:54 am

Hallo Martin und Christoph
erst mal vielen Dank!
<< Christoph: das Kontaktformular geht.
<< Martin: dein Vorschlag funktioniert. Heist das nun, dass das Adressfeld in den Shopeinstellungen ausgehebelt ist?
So habe ich es gemacht:
wrs_frontend_controller.php

Code: Select all

        $mail->ClearAddresses();
        $mail->AddAddress('rombs@example.org');
        $mail->Subject = 'Eine Tagungsbuchung ist eingetroffen.'; 
//        $mail->AddAddress($this->settings['order_email'], $this->settings['company_name']);
//        $mail->Subject = $this->viewProvider->mail['notify'];
Grüsse aus der Schweiz
Rolf

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Wellrad Fehlermeldung 'Mailer Error'

Post by cmb » Sat Apr 05, 2014 10:29 am

rombs wrote: das Kontaktformular geht.
Gut zu wissen. :)
rombs wrote:Heist das nun, dass das Adressfeld in den Shopeinstellungen ausgehebelt ist?
Nicht unbedingt. Es könnte daran liegen, dass PHPMailer::AddAddress() vorher zwei Parameter übergeben wurden, was das To-Feld als "Rombs <rombs@example.org>" statt "rombs@example.org" formatiert. Es könnte aber auch daran liegen, dass rombs@example.org akzeptiert wird, nicht aber der Eintrag in der Konfigurationseinstellung order_email. Oder es könnte vielleicht auch daran liegen, dass company_name oder notify nicht ASCII-Zeichen enthalten, die vom PHPMailer nicht korrekt verarbeitet werden. Ich schau mir das nachher gerne mal näher an, falls das Problem bis dahin noch nicht gelöst ist.

Auf jeden Fall erscheint mir das Verhalten, dass mail() Misserfolg signalisiert, aber die E-Mail dennoch verschickt wird, ein Bug oder Fehlkonfiguration auf dem Server zu sein (der umgekehrte Fall, also mail() signalisiert Erfolg, aber die E-Mail kommt nicht an, hingegen kann schon vorkommen).
Christoph M. Becker – Plugins for CMSimple_XH

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Wellrad Fehlermeldung 'Mailer Error'

Post by cmb » Sat Apr 05, 2014 12:05 pm

cmb wrote:Ich schau mir das nachher gerne mal näher an, falls das Problem bis dahin noch nicht gelöst ist.
Wirklich schlauer bin ich nicht (außer, dass man wohl Zeichenkodierungsprobleme ausschließen kann). Aber vielleicht hilft ein Patch, den ich vor einer Weile auch bei Advancedform_XH eingebaut habe, und der Mail-Probleme zumindest bei einem Anwender behoben hat. Es geht um die Datei plugins/wellrad/classes/phpmailer/class.phpmailer.php. Dort steht ab Zeile 867:

Code: Select all

    if($this->Sender == '') {
      $result .= $this->HeaderLine('Return-Path', trim($this->From));
    } else {
      $result .= $this->HeaderLine('Return-Path', trim($this->Sender));
    }
Kommentiere einfach mal die zweite Zeile aus:

Code: Select all

    if($this->Sender == '') {
      // $result .= $this->HeaderLine('Return-Path', trim($this->From));
    } else {
      $result .= $this->HeaderLine('Return-Path', trim($this->Sender));
    }
Vielleicht hilft das.
Christoph M. Becker – Plugins for CMSimple_XH

rombs
Posts: 77
Joined: Mon May 26, 2008 7:03 am
Location: Switzerland

Re: Wellrad Fehlermeldung 'Mailer Error'

Post by rombs » Mon Apr 07, 2014 7:20 am

Hallo Christoph
Ich habe das so gemacht, aber keine Veränderung oder Verbesserung. Dennoch bin ich aufgrund deiner Hinweise weiter gekommen.
Oder es könnte vielleicht auch daran liegen, dass company_name oder notify nicht ASCII-Zeichen enthalten, die vom PHPMailer nicht korrekt verarbeitet werden.
Das Problem liegt bei der französischen Sprache.
Ich habe nochmals begonnen und file per file meiner veränderten Dateien über das Originalplugin geladen. Dann jeweils getestet. Seltsam war ja für mich, dass mal alles korrekt funktionierte.
Durch die erste Verwendung des Shops unter der franz. SubSite wurde die shopsettings.php unter /config wie folgt ergänzt:

Code: Select all

$zShopSettings['fr']['url'] = 'Journ%C3%A9e_de_30_aout_2014:Enregistrement_online';
$zShopSettings['fr']['cos_page'] = '?Journ%C3%A9e_de_30_aout_2014:Conditions_de_r%C3%A9union';
Original heissen die Links:
Journée de 30 aout 2014 und Conditions de réunion
und flupp, das Problem entsteht.
Der deutsche Shop liegt hier und eigentlich kann ich damit leben, wenn auch von der Fr Subsite auch dieser korrrekt angesteuert wird.

Code: Select all

$zShopSettings['de']['url'] = 'Tagung_vom_30.8.2014:Anmeldung_online';
$zShopSettings['de']['cos_page'] = '?Tagung_vom_30.8.2014:Tagungsbedingungen';
Aktuell löse ich das Problem, dass ich nur den deutsche Warenkorb verwende (unschön ist, dass auf der SubSite der Warenkorb angezeigt wird, aber natürlich nicht funktioniert.
Ich wollte ursprünglich ja eine franz. Sprachdatei anlegen, die musste aber so 'falsch' sein (zB statt Buchung Réservation), dass zu viele Fehler entstanden. So habe ich einfach die de.php kopiert und in fr.php unbenannt und nur rudimentär die Buttons umbenannt. Das ging. Auf die Ergänzung der shopsettings.php kam ich erst heute.
Grüsse aus der Schweiz
Rolf

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Wellrad Fehlermeldung 'Mailer Error'

Post by cmb » Mon Apr 07, 2014 10:55 am

Hallo Rolf,

war die französische Sprachdatei überhaupt UTF-8 kodiert? Falls sie in einer anderen Zeichenkodierung vorlag, würde das wohl das Problem erklären, v.a. wenn "Sonderzeichen" in company_name vorkommen.

Christoph
Christoph M. Becker – Plugins for CMSimple_XH

Post Reply