WebsiteBaker Community Forum

WebsiteBaker Support (2.12.x) => General Help & Support => Hilfe & Support (deutsch) => Topic started by: astricia on June 24, 2020, 03:23:04 PM

Title: Class 'PHPMailer' not found
Post by: astricia on June 24, 2020, 03:23:04 PM
Hallo zusammen,

Ich habe auf einer Website (WB 2.12.2 / PHP 7.3) das Problem, dass Mails, die über das Kontaktformular gesendet werden, nicht durchgehen.

Es gibt auf dieser Website zwei Arten von Kontaktformularen. Das "normale" (Modul form). Hier geht nichts durch und es werden auch keine Einträge gespeichert.
Und zur Anmeldung für bestimmte Kurse ein Formular des Moduls miniform. Hier geht auch nichts durch, aber die Einträge werden im Backend gespeichert.

Ich habe bei den Mail-Einstellungen sowohl PHP MAIL als auch SMTP probiert - bei beiden Einstellungen kommt im Error-Log der gleiche Fehler:
Code: [Select]
[24-Jun-2020 13:07:01 Etc/UTC] PHP Fatal error: Class 'PHPMailer' not found in /homepages/45/d97099225/htdocs/neu-2020/framework/class.wbmailer.php on line 29
Habe schon im Forum gesucht und einen alten Thread https://forum.WebsiteBaker.org/index.php/topic,31544.msg220795.html gefunden und alles überprüft was dort in der Antwort steht. Das behebt es leider nicht.

Noch jemand eine Idee?

LG,
Astrid
Title: Re: Class 'PHPMailer' not found
Post by: dbs on June 24, 2020, 03:41:29 PM
Schau mal ob der Ordner in GroßKleinSchreibwei se ist: WB-Root/include/PHPMailer
Title: Re: Class 'PHPMailer' not found
Post by: astricia on June 24, 2020, 03:42:44 PM
Genau das war es - der Ordnername war alles in Kleinbuchstaben "phpmailer". Einfach mit den richtigen Großbuchstaben umbenennen - schon funzt es. Wie kann sowas passieren???

Sehr merkwürdig...

Aber gut, dass es jetzt läuft.

LG,
Astrid
Title: Re: Class 'PHPMailer' not found
Post by: dbs on June 24, 2020, 03:51:16 PM
Passiert wenn du eine WB-Installation vom Server runter lädst in dein Windows, dann dort das Upgrade machst. Windows unterscheidet nicht GroßKlein und denkt "phpmailer ist schon da, brauch ich nichts ändern". Deshalb wird die neue Schreibweise (ab WB 2.11) nicht übernommen.
Title: Re: Class 'PHPMailer' not found
Post by: Luisehahne on June 24, 2020, 04:32:03 PM
evtl interessant um windows 10 ein paar Sachen beizubringen, benutze ich immer

Unterstützung Pfade länger als 255
Code: [Select]
REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Policies]
"LongPathsEnabled"=dword:00000001

und Unterstützung in php für CaseInsensitive Pfade und Dateinamen.
Code: [Select]
REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel]
"ObUnsecureGlobalNames"=hex(7):6e,65,74,66,78,63,75,73,74,6f,6d,70,65,72,66,63,\
  6f,75,6e,74,65,72,73,2e,31,2e,30,00,53,68,61,72,65,64,50,65,72,66,49,50,43,\
  42,6c,6f,63,6b,00,43,6f,72,5f,50,72,69,76,61,74,65,5f,49,50,43,42,6c,6f,63,\
  6b,00,43,6f,72,5f,50,75,62,6c,69,63,5f,49,50,43,42,6c,6f,63,6b,5f,00,00
"SeTokenSingletonAttributesConfig"=dword:00000003
"ObCaseInsensitive"=dword:00000000
Title: Re: Class 'PHPMailer' not found
Post by: astricia on June 25, 2020, 09:07:48 AM
Ich mache das Upgrade nie offline in Windows - immer auf dem Server des Kunden. Lade per FTP hoch und starte dann das Upgrade-Script (in der Regel natürlich mit vorherigem Backup von Datenbank und Dateien..).

Bin gerade alle meine Kunden-Installationen durchgegangen, bei denen ich in den letzten Monaten auf WB 2.12.2 upgegraded habe. Das Problem, das nur ein Verzeichnis "phpmailer" existiert, habe ich noch bei einer anderen Website gefunden (bei der aber gar kein Kontaktformular hinterlegt ist, deswegen ist das wohl nicht aufgefallen..). Beiden Websites ist gemeinsam, dass sie bei Ionos gehostet sind. (Habe aber noch mehr Ionos-Installationen, bei denen das nicht aufgetreten ist..).

Ich habe nur drei Websites gefunden, bei denen korrekterweise nur ein Verzeichnis "PHPMailer" existiert.

Bei der großen Mehrheit der Websites existieren auf dem Server zwei Verzeichnisse: phpmailer und PHPMailer. Die Kontaktformulare da scheinen aber zu funktionieren. Was mache ich denn da? "phpmailer" ganz löschen? Oder einfach ignorieren? In "phpmailer" sind offensichtlich weniger Dateien vorhanden als in "PHPMailer".

LG,
Astrid
Title: Re: Class 'PHPMailer' not found
Post by: dbs on June 25, 2020, 09:28:06 AM
Der kleine phpmailer kann weg, weil die framework/class.wbmailer in der Zeile 29 aus der Fehlermeldung nach PHPMailer sucht.
Löschen ist besser, nicht löschen stört aber auch nicht.