Author Topic: Fehler im Kontaktformular  (Read 2685 times)

Offline nastytill

  • Posts: 63
  • Gender: Male
Fehler im Kontaktformular
« on: January 01, 2017, 11:31:23 PM »
Hallo Community,
ich habe meine WB Installation auf WB Version 2.8.3+SP7 (r1647) aktualisiert.
PHP Version 5.6.24
Lief eigentlich alles super.
Jetzt habe ich heute bemerkt, dass wenn ich auf meiner Webseite ein Kontaktformular ausfülle und die Nachricht abschicke, folgender Fehler kommt -->

There was an uncatched exception
no sendmail available
in line (154) of (/framework/class.wbmailer.php):

Weiß jemand an was das liegen könnte und könntet ihr mir bitte helfen?
Ich habe mich schon gewundert warum ich keine Emails mehr von den Kontaktformularen bekomme.
Nun ja, jetzt weiß ich es  :-(

Gruß

PS: Hat das vielleicht was mit dem Patch vom Dezember zu tun?
Warning: Security vulnerability in PHPMailer

Posted by Administrator (WebsiteBaker) on Dec 29 2016

There's a lot of noise going around at the moment regarding a vulnerability in PHPMailer and SwiftMailer too.
There an attacker can control the from address a script uses they can pass arbitrary arguments to the sendmail binary. The vulnerability does not touch the SMTP transport.
 
Zitat

Today we published the newest release from the vendor packet of PHPMailer v.5.2.21. You can download it from WebsiteBaker Wiki
Please install this packet as soon as possible.

Last changed: Dec 29 2016 at 10:22 am
Back
« Last Edit: January 01, 2017, 11:44:21 PM by nastytill »
OHNE HUB KEIN SCHUB !

Offline nastytill

  • Posts: 63
  • Gender: Male
Re: Fehler im Kontaktformular
« Reply #1 on: January 02, 2017, 12:38:57 AM »
Ich kann meinen Beitrag leider nicht mehr ändern.
Mir ist aufgefallen, dass ist der NEUEN class.webmailer.php folgende Zeilen mehr drin sind -->


    /**
     * Send messages using $Sendmail.
     * @return void
     * @description  overrides isSendmail() in parent
     */
    public function isSendmail()
    {
        $ini_sendmail_path = ini_get('sendmail_path');
        if (!preg_match('/sendmail$/i', $ini_sendmail_path)) {
            if ($this->exceptions) {
                throw new phpmailerException('no sendmail available');
            }
        } else {
            $this->Sendmail = $ini_sendmail_path;
            $this->Mailer = 'sendmail';
        }
    }

}

Die alte class.webmailer.php ging bis Zeile 141 dann war Schluss.
In der neuen wurde quasi das was ich oben eingefügt habe ergänzt.
Hier steht dann auch in Zeile 154 --> no sendmail available
Dieser Fehler kommt dann auch.
Ich habe jetzt aus der class.webmailer.php alle Zeilen bis zu 142 wieder gelöscht und die Datei auf dem Server überschrieben.
Nun ja, es geht nun wieder und die Formulare werden versendet.
Aber kann mir jemand von euch sagen ob das so nun richtig ist?
Ich habe quasi die alte class.webmailer.php wieder eingespielt welche vor dem Dezember Patch drauf war.

Gruß
OHNE HUB KEIN SCHUB !

Offline nastytill

  • Posts: 63
  • Gender: Male
Re: Fehler im Kontaktformular
« Reply #2 on: January 02, 2017, 10:05:11 AM »
Desweiteren ist mir aufgefallen, dass wenn man z.b. im Kontakformular eine falsche Prüfziffer eingibt, folgender Hinweis bekommt -->

Die eingegebene Prüfziffer stimmt nicht überein. Wenn Sie Probleme mit dem Lesen der Prüfziffer haben, bitte schreiben Sie eine E-Mail an den Webmaster

Wenn ich jetzt auf den Link von Webmaster klicke, setzt er mir quasi vor den mailto Befehl meine Webseite. Diese nenne ich jetzt mal test.de
So sieht der Link dann aus --> www.test.de/"mailto:info@test.de/"

Jemand eine Idee woran das liegen könnte und wie ich das raus bekomme?
Danke euch im vorais.

Gruß
OHNE HUB KEIN SCHUB !

Offline dbs

  • Betatester
  • **
  • Posts: 7977
  • Gender: Male
  • tioz4ever
    • WebsiteBaker - jQuery-Plugins - Module - Droplets - Tests
Re: Fehler im Kontaktformular
« Reply #3 on: January 02, 2017, 10:17:56 AM »
Moinsen, hast du nun SP7 + Dezember Patch drauf?
Die 2 Module, die in dem Patch-Thread genannt wurden auch aktualisiert?

Offline nastytill

  • Posts: 63
  • Gender: Male
Re: Fehler im Kontaktformular
« Reply #4 on: January 02, 2017, 11:28:43 AM »
Hallo dbs,

vielen Dank für deine Antwort.
Ja, ich hab SP7 + Dezember Patch drauf.
Die Module bzw. das hier habe ich eben gemacht -->

How to install the patch:

    unzip the patch and move it to your webspace by FTP
    login into backend as superadmin (User-ID = 1)
    run upgrade-script.php
    upgrade JsAdmin to v2.0.7
    upgrade Output_Filter to v1.1.0
    upgrade DefaultTheme to v1.1.14

Gehr aber immer noch nicht und folgender Fehler kommt wieder -->

There was an uncatched exception
no sendmail available
in line (154) of (/framework/class.wbmailer.php):

Jetzt habe ich die alte class.webmailer.php wieder aufgespielt und der Versand geht wieder.
In dieser fehlt am Ende dieses -->

    /**
     * Send messages using $Sendmail.
     * @return void
     * @description  overrides isSendmail() in parent
     */
    public function isSendmail()
    {
        $ini_sendmail_path = ini_get('sendmail_path');
        if (!preg_match('/sendmail$/i', $ini_sendmail_path)) {
            if ($this->exceptions) {
                throw new phpmailerException('no sendmail available');
            }
        } else {
            $this->Sendmail = $ini_sendmail_path;
            $this->Mailer = 'sendmail';
        }
    }

}

Ich habe das update script ausgeführt und danach erst die Module aktualisiert.
Soll ich jetzt die neue class.webmailer.php nochmals auf den Server spielen und das update script nochmals ausführen? Bringt das was?
OHNE HUB KEIN SCHUB !

Offline dbs

  • Betatester
  • **
  • Posts: 7977
  • Gender: Male
  • tioz4ever
    • WebsiteBaker - jQuery-Plugins - Module - Droplets - Tests
Re: Fehler im Kontaktformular
« Reply #5 on: January 02, 2017, 11:51:01 AM »
Benutze mal den Code-Button # für Code.  :wink:

Doofe Frage nochmal, du hast die Module JsAdmin und Output_Filter runtergeladen und normal installiert?

In meinen Tests hatte ich auch immer Probleme mit der class.wbmailer und auch bei mir ging nur eine ältere Version. Da waren meine SMTP Einstellungen aber nicht wie sie sein sollten. Du hast es versucht mit SMTP in Optionen > Eweitert > Maileinstellungen und den richtigen Port gewählt?

Wegen Wechsel der class.phpmailer brauchst nicht upgrade-script laufen lassen. Aber allgemein schadet es nichts, kannst du so oft machen wie du willst.

Offline nastytill

  • Posts: 63
  • Gender: Male
Re: Fehler im Kontaktformular
« Reply #6 on: January 02, 2017, 12:40:10 PM »
Doofe Frage nochmal, du hast die Module JsAdmin und Output_Filter runtergeladen und normal installiert?
Ja, habe ich.
Du hast es versucht mit SMTP in Optionen > Eweitert > Maileinstellungen und den richtigen Port gewählt?
Nein, hier habe ich schon immer PHP Mail drin stehen und es ging ja auch die ganze Zeit.
Was ich unter smtp alles eintragen soll, weiß ich nicht genau.

Hast du vielleicht hierzu noch eine Idee?
Desweiteren ist mir aufgefallen, dass wenn man z.b. im Kontakformular eine falsche Prüfziffer eingibt, folgender Hinweis bekommt -->

Die eingegebene Prüfziffer stimmt nicht überein. Wenn Sie Probleme mit dem Lesen der Prüfziffer haben, bitte schreiben Sie eine E-Mail an den Webmaster

Wenn ich jetzt auf den Link von Webmaster klicke, setzt er mir quasi vor den mailto Befehl meine Webseite. Diese nenne ich jetzt mal test.de
So sieht der Link dann aus --> www.test.de/"mailto:info@test.de/"

Natürlich geht jetzt nicht der Befehl und wenn ich auf den Link klicke, werde ich auf meine Webseite geleitet anstatt sich das Emailprogramm öffnet an den Empfänger info@test.de
OHNE HUB KEIN SCHUB !

Offline jacobi22

  • Posts: 5843
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: Fehler im Kontaktformular
« Reply #7 on: January 02, 2017, 01:06:57 PM »
sieht so aus, als würde die gestellte Bedingung zur Abfrage des sendmail-Pfades bei dir nicht zutreffen, weil er entweder auf dem Server nicht gesetzt wurde oder anders lautet.

In der Theorie ist isSendmail die letzte Alternative zum Versenden der Mails, wenn der SMTP-Versand, aus welchen Gründen auch immer, nicht möglich ist. Wenn es aber mit der alten Version der class.wbmailer.php geht, kann es nur mit der Abfrage unten zusammen hängen, die du oben zitiert hast.

Ich würde die neueste Version vom Patch nehmen und drauf achten, das auch dort der neue PHPMailer im Ordner include dabei ist

Dann kommentiere in der Datei framework / class.wbmailer.php diese Zeilen aus

Code: [Select]
public function isSendmail()
    {
        $ini_sendmail_path = ini_get('sendmail_path');
        if (!preg_match('/sendmail$/i', $ini_sendmail_path)) {
            if ($this->exceptions) {
                throw new phpmailerException('no sendmail available');
            }
        } else {
            $this->Sendmail = $ini_sendmail_path;
            $this->Mailer = 'sendmail';
        }
    }
in den du vor die erste Zeile ein /* setzt und  hinter der geschweiften Klammer diesen Kommentar mit */ wieder schließt

Ist das auskommentiert, wird in der Datei class.phpmailer.php die dortige Funktion mit gleichem Namen genutzt, die eine andere Prüfmethode hat, welche bei dir offensichtlich funktioniert.

Damit müßte es gehen

Willst du wissen, warum es nicht funktioniert, benötigt man den Inhalt dieser Abfrage hier
Code: [Select]
$ini_sendmail_path = ini_get('sendmail_path');gesucht wird nach dem Wort sendmail im Pfad - ist das nicht dabei, gibt es obigen Fehler

Sowohl der Mailer wie auch der Patch sind getestet und es funktioniert sowohl unter SMTP wie auch unter PHPMail und auch bei diversen Providern. Im Sommer letzten Jahres haben diverse Anbieter ihre Mailer upgegradet und arbeiten jetzt intern mit "geheimen" Pfaden, die sich vom Sendmail-Pfad unterscheiden, der allgemein mit /usr/sbin/sendmail bekannt war. Strato und one.com sowie 1&1 haben z.b. diesen Pfad noch in der php.ini stehen, leiten aber intern um und damit könnte deine Abfrage ins leere gehen.

Möglich auch, das PHPMail bei dir abgestellt wurde, was ich eigentlich auch vermute, denn wenn du SMTP nicht nutzt, müßte das Script danach ins PHPMail springen, macht es aber auch nicht.

Prüfziffer schau ich mir gleich an, habe das nach deinem Post bei mir getestet und überall das gleiche Problem. Ich tippe auf einen der Filter.
Wer nicht will, findet Gründe, wer will, findet Wege.

Offline jacobi22

  • Posts: 5843
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: Fehler im Kontaktformular
« Reply #8 on: January 02, 2017, 01:10:31 PM »
achso, vergessen...

SMTP-Einstellungen gibt es in der Regel bei deinem Anbieter in deren Hilfe. Du benötigst eigentlich nur den SMTP-Host, deine Postfach-Loginname (i.d.R. die Mailadresse) und dein Passwort
Wer nicht will, findet Gründe, wer will, findet Wege.

Offline nastytill

  • Posts: 63
  • Gender: Male
Re: Fehler im Kontaktformular
« Reply #9 on: January 02, 2017, 01:21:09 PM »
Hallo jacobi22,

oha, was für eine Antwort.
Herzlichen Dank.
Ich bin grad auf meiem Server in den Ordner /wb/include/phpmailer
Hier ist eine Datei drin --> Version
Hab die runtergeladen und da steht --> 5.2.21
Heisst das ich habe überhaupt noch nicht die neuste Version vom PHP Mailer?
Daran könnte es dann natürlich liegen.
Aber hier steht -->
Today we published the newest of the patch files. Please install the patch to fix some little problems of the 2.8.3-SP7. Download the patch from WB-Wiki.
This patch already includes the newest version of PHPMailer !!!

Habe ja den Patch ausgeführt und woran sehe ich jetzt genau was für ein PHP Mailer ich habe?
Und wo kann ich mir den neusten nochmal downloaden und wie muss ich den dann aktualisieren?

Ich habe alles bei 1&1 und habe das Unlimited Plus Paket
--> https://hosting.1und1.de/linux-hosting

Verstehe das nicht ganz.
Bei mir steht in der neuen -->
Code: [Select]
    /**
     * Send messages using $Sendmail.
     * @return void
     * @description  overrides isSendmail() in parent
     */
   public function isSendmail()
    {
        $ini_sendmail_path = ini_get('sendmail_path');
        if (!preg_match('/sendmail$/i', $ini_sendmail_path)) {
            if ($this->exceptions) {
                throw new phpmailerException('no sendmail available');
            }
        } else {
            $this->Sendmail = $ini_sendmail_path;
            $this->Mailer = 'sendmail';
        }
    }

}

Würdest du mir den geänderten Code hier einstellen?

Quote
Prüfziffer schau ich mir gleich an, habe das nach deinem Post bei mir getestet und überall das gleiche Problem. Ich tippe auf einen der Filter.
Super, danke dir. Ich komm nicht drauf. Bin gespannt, woran das liegt.
« Last Edit: January 02, 2017, 01:40:11 PM by nastytill »
OHNE HUB KEIN SCHUB !

Offline jacobi22

  • Posts: 5843
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: Fehler im Kontaktformular
« Reply #10 on: January 02, 2017, 02:14:15 PM »
Quote
Hab die runtergeladen und da steht --> 5.2.21
Heisst das ich habe überhaupt noch nicht die neuste Version vom PHP Mailer?

doch, alles okay, Vers 5.2.21 ist die aktuellste Version

Quote
Habe ja den Patch ausgeführt und woran sehe ich jetzt genau was für ein PHP Mailer ich habe?

an der Versionsnummer in der Datei VERSION im Ordner include/phpmailer sowie an den Versionsnummern in den Dateien class.smtp.php und class.pop3.php und class.phpmailer.php

Quote
Und wo kann ich mir den neusten nochmal downloaden und wie muss ich den dann aktualisieren?
oben links im Forum stehen die Neuigkeiten, u.a. auch zum PHP-Mailer inkl Download-Link. Der PHP-Mailer ist auch Bestandteil des Patches
und deine Versionsnummer sagt ja auch, das alles okay ist

Datei framework / class.wbmailer.php

im Anhang der gesamte Code ohne das sendmail unten, also nur verwenden, wenn du diesen Fehler hier bekommst
Quote
There was an uncatched exception
no sendmail available
in line (154) of (/framework/class.wbmailer.php):

Prüfziffer:
das Problem liegt in der view.php des Moduls Form 3.0.8
eigentlich wurden nach der Testerei nur noch die Einbindung der Sprachvariablen ersetzt, danach wurde nochmal überall getestet, aber wohl nicht dieser Fehler provoziert. Ich hab es zumindest erst durch dein Posting gemerkt.
Hab den Fehler selbst noch nicht gefunden, aber hier muß eh ein Modul-Upgrade ran.
Zur Überbrückung die view.php der Modulversion Form 3.0.6 im Anhang, bitte entpacken und einfach überschreiben im Ordner modules/form und öfter mal ins Addons schauen, ob es eine neuere Version nach 3.0.8 gibt
« Last Edit: January 02, 2017, 02:19:18 PM by jacobi22 »
Wer nicht will, findet Gründe, wer will, findet Wege.

Offline jacobi22

  • Posts: 5843
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: Fehler im Kontaktformular
« Reply #11 on: January 02, 2017, 02:15:44 PM »
Doppel-Post, sorry
Wer nicht will, findet Gründe, wer will, findet Wege.

Offline nastytill

  • Posts: 63
  • Gender: Male
Re: Fehler im Kontaktformular
« Reply #12 on: January 02, 2017, 02:54:50 PM »
Hallo jacobi22,

vielen Dank für deine Hilfe.
Bei mir kam ja der Fehler und nun geht es.
Ich habe mir deine class.webmailer.php runetrgeladen und meine Datei auf dem Server überschrieben.
Der Fehler mit der Prüfziffer ist nun auch weg und es geht.
Deine view.php aus dem Form Modul 3.0.6 genommen.

Werde die Tage in Ruhe nochmals alles prüfen und schauen ob noch weitere Fehler auftauchen.
OHNE HUB KEIN SCHUB !

Offline jacobi22

  • Posts: 5843
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: Fehler im Kontaktformular
« Reply #13 on: January 02, 2017, 03:08:34 PM »
Fehler in der view.php vom Form-Modul liegt an der Aufabeitung der Mailadresse. Diese wird geslasht, also in Slashes eingefasst , z.b. so

Code: [Select]
<a href="\"mailto:uwe@jacobi22.de\"" marked="1">Webmaster</a>
dann schlägt der Filter zu, erkennt diese URL bzw Maillink nicht und setzt automatisch die WB_URL davor. Das Problem ist weg, wenn man den RelUrl-Filter aktiviert, wohl auch ein Grund, warum es keiner von uns Testern gesehen hat  :|

Das Problem ist aber eindeutig in der view.php zu suchen, werde das mal Stück für Stück ersetzen
Wer nicht will, findet Gründe, wer will, findet Wege.

Offline jacobi22

  • Posts: 5843
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: Fehler im Kontaktformular
« Reply #14 on: January 02, 2017, 06:07:40 PM »
Problem ist lokalisiert, nu hoff ich, das irgendwer was damit anfängt

Ursache ist die falsche Maskierung eines in Anführungszeichen eingefaßten Begriffs innerhalb einer Sprachvariable durch die neue Translate-Klasse, im speziellem Fall eben der Maillink, geht aber auch mit jeder anderen Sprachvariable

Wichtig: da der Link zur Webmaster-Email nicht korrekt ausgegeben wird, funktioniert auch die Verschlüsselung der Mailadresse nicht! Die Mailadresse wird also unverschlüsselt ausgegeben.

Korrektur: meine obige Behauptung, das es mit eingeschaltetem RelUrl-Filter funktioniert, ist falsch - sorry dafür

Abhilfe für den Moment: oben angefügte Version 3.0.6 für die view.php
diese nutzt noch die alte Form der Einbindung von Sprachvariablen
Wer nicht will, findet Gründe, wer will, findet Wege.

Offline nastytill

  • Posts: 63
  • Gender: Male
Re: Fehler im Kontaktformular
« Reply #15 on: January 03, 2017, 09:46:17 PM »
Hallo jacobi22,
nochmals vielen Dank für deine tolle Unterstützung und Hilfe.
Meine Seite läuft mit deinen 2 Lösungen wieder sehr gut.
Warten wir mal auf Updates solange.
Gruß
OHNE HUB KEIN SCHUB !

Offline jacobi22

  • Posts: 5843
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: Fehler im Kontaktformular
« Reply #16 on: January 03, 2017, 10:29:07 PM »
Quote
Warten wir mal auf Updates solange.

Problem ist schon erkannt, eine Lösung hab ich auch schon zum testen. Wird aber sicher ein, zwei Tage dauern
Wer nicht will, findet Gründe, wer will, findet Wege.

Offline nastytill

  • Posts: 63
  • Gender: Male
Re: Fehler im Kontaktformular
« Reply #17 on: January 10, 2017, 10:40:35 AM »
Hallo Uwe,
gibt seit heute Morgen eine neue Version des Form Moduls.
Version 3.0.12 --> Vorgänger war 3.0.8
Habs gerade aktualisiert.
Der Fehler mit der Mail an den Webmaster ist allerdings noch nicht behoben.
Ich habe deine view.php aus der Version 3.0.6 wieder hochgeladen und es geht wieder.
Just for Info.

Viele Grüße
OHNE HUB KEIN SCHUB !

Offline jacobi22

  • Posts: 5843
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: Fehler im Kontaktformular
« Reply #18 on: January 10, 2017, 10:45:55 AM »
der Fehler lag auch nicht im Form-Modul direkt, sondern an der art der "Übersetzung", genauer: der Art der Einbindung der Sprachvariablen in der Klasse Translate.
Grund für das Upgrade von heute war u.a. ein böses Hochkomma in allen nicht-deutschen Sprachdateien - wundert mich, das das noch keiner gemeldet hatte.

Die Datei im Anhang gehört in den Ordner framework und löst das Problem mit der Webmaster-Adresse. Nach dem Hochkopieren ist ein Löschen der Cache-Dateien nötig
Entweder manuell im Ordner temp/cache - alle Dateien löschen in diesem Ordner
oder ab SP7 - Patch übers Backend im Info-Fenster (gelb markierter Link)

Wer nicht will, findet Gründe, wer will, findet Wege.

Offline nastytill

  • Posts: 63
  • Gender: Male
Re: Fehler im Kontaktformular
« Reply #19 on: January 10, 2017, 11:08:41 AM »
Hallo Uwe,
perfekt, jetzt läuft alles.
Deine translate.php in den Ordner Framework überschreiben lassen, Cache im Backend im Infofenster geleert.
Habe die aktuelle view.php aus der Version 3.0.12 wieder hochgeladen und der Link wird jetzt richtig ausgegeben  (Y)
Danke dir für die tolle Hilfe.

Viele Grüße
OHNE HUB KEIN SCHUB !

Offline jacobi22

  • Posts: 5843
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: Fehler im Kontaktformular
« Reply #20 on: January 10, 2017, 11:17:43 AM »
wieder ein glücklicher Mensch  ;-)

danke für die Rückmeldung  (Y)
Wer nicht will, findet Gründe, wer will, findet Wege.

Offline nastytill

  • Posts: 63
  • Gender: Male
Re: Fehler im Kontaktformular
« Reply #21 on: January 20, 2017, 09:12:02 AM »
Hallo Uwe,
ich habe soeben das Form Modul von Version 3.0.12 auf 3.0.13 aktualisiert.
Download hier -->
http://addon.WebsiteBaker.org/pages/en/browse-add-ons.php?id=0C666AD2

Jetzt geht es überhaupt nicht mehr.
Wenn ich auf Nachricht abschicken gehe z.B. leitet er mich auf meine Intro Seite weiter.
Desweiteren wenn ich nur ein Feld ausfülle mit Emailadresse z.b. leitet er mich auch direkt weiter auf die Intro.
Es kommt nicht mal mehr... folgende Felder sind nicht ausgefüllt ... oder der Captcha Code Hinweis, dass er nicht bzw. falsch eingetragen wurde kommt auch nicht ... bitte wenden Sie sich an den Webmaster ... etc ...  :evil:

@Luisehahne

Anhang entfernt, da in dieser Version ohne den aktuellen Patch nicht lauffähig.
Sorry war mein Fehler das Form freizugeben

« Last Edit: January 20, 2017, 10:46:20 AM by Luisehahne »
OHNE HUB KEIN SCHUB !

Offline hgs

  • Betatester
  • **
  • Posts: 1110
    • EFG MG
Re: Fehler im Kontaktformular
« Reply #22 on: January 20, 2017, 10:46:17 AM »
Hab dir ne PN geschickt
LG Harald

"Fange nie an, aufzuhören - höre nie auf, anzufangen." Marcus Tullius Cicero (106-43 v.Chr.)

 

postern-length