Shop-Rechnung kann mit SMTP nicht versendet werden

  • Hallo

    Ich bin aktuell am Einrichten meines Webshops mit ZP 16.7.0 Business. Den Versand der Rechnung möchte ich mittels SMTP machen.

    Leider kann das Mail nicht versandt werden, die Fehlermeldung "SMTP Error: Could not authenticate." wird angezeigt.

    Die SMTP Einstellungen im Shop sind identisch mit dem Kontaktformular. Dort funktioniert der Mailversand mit SMTP.

    Gibt es Unterschiede zwischen Shop und Kontaktformular ?

    Weiss hier jemand eine Lösung ?

    Lg Erich

    Grüsse

    Erich

    ZP 16.7.0 Business auf IIS mit Campfire Responsive

  • Hallo

    Hat niemand hier eine Lösungsidee oder Vermutungen was es sein könnte ?

    Ich habe nochmals probiert und zwar mit meinem Google-Account (gemäss ZP Anleitung). Leider erfolglos, immer noch Fehlermeldung "SMTP Error: Could not authenticate."

    Was mich verwirrt ist die Tatsache, dass ich mit den gleichen SMTP Informationen (Server, User, Password) Kontaktmails versenden kann, Shop-Mails jedoch nicht. Dann liegt es ja eher nicht am Internet Provider. Muss man auf dem IIS noch etwas spezielles im PHP Umfeld einrichten ?

    Lg Erich

    Grüsse

    Erich

    ZP 16.7.0 Business auf IIS mit Campfire Responsive

  • Hallo,

    Shop und Kontaktformular benutzen die selbe Bibliothek zum Versand, da gibt es eigentlich keine Unterschiede. Sie können in den Shop-Einstellungen unter "E-Mail-Server" die Einstellung SMTP-Debugging aktivieren, dann sollten Ihnen mehr Details zum Fehler angezeigt werden.

    Freundliche Grüße
    Stefan S. (Zeta Producer-Support)

  • Mit aktiviertem SMTP Debugging wird die gleiche Fehlermeldung angezeigt. Wo kann man den Debug-Output sehen ?

    Im Kontaktformular sehe ich den Debug Output, im Warenkorb gibt es bei mir keinen Output. Muss man hierzu noch etwas zusätzliches konfigurieren ?

    Lg Erich

    Grüsse

    Erich

    ZP 16.7.0 Business auf IIS mit Campfire Responsive

  • Hallo Erich,

    ich habe mal bei mir im Shop nachgesehen und da funktioniert alles. Bekomme ca 150 Bestellungen am Tag und das ohne Probleme

    Folgende Shop Einstellung - Email Server habe ich eingestellt (Mein Server ist Domainfactory)

    SMTP verwenden - Ja

    SMTP-Debugging - Nein

    SMTP-Server = sslout.de

    SMTP-Benutzername = E-mailadresse zb. info@.....de

    SMTP-Kennwort = Dein Passwort

    SMTP-Anschluss = 587

    SSL-Modus = Auto-TLS

    SSL-Fehler ignorieren = Nein

    Ich hoffe ich konnte helfen

    Schönen abend und beste Grüße

    Michael

  • Das SMTP-Debugging sollte eigentlich in die normale Protokolldatei schreiben.

    Ich kenne die genaue Dokumentation jetzt nicht, aber normalerweise sollte in "config.inc.php" auf dem Server der Wert "ZPS_LOG" auf "true" gesetzt werden, und dann noch das SMTP-Debugging aktiviert sein, und dann sollte er eigentlich in einen Parent-Ordner zum Ordner der "config.inc.php"-Datei einen Ordner "SHOP_DATA" angelegt haben, und dort in einem der kryptischen Unterordner sollten Protokolle liegen, die mit einem Texteditor anzuschauen sind.

  • Ich habe den Wert ZPS_LOG an zwei Orten auf true gesetzt. Habe aber auf dem ganzen Server kein Logfile gefunden. Hinweis: Ich arbeite mit Windows Server 2022 und mit dem IIS, vielleicht ist das hier anders.

    Dann habe ich probiert, einen Kunden zu eröffnen: Das geht nicht, folgende Fehlermeldung wird angezeigt:

    Zitat

    Fatal error: Uncaught PHPMailer\PHPMailer\Exception: SMTP Error: Could not authenticate. in C:\inetpub\websites\MDS\assets\php\_extracted\vendors\vendor\phpmailer\phpmailer\src\PHPMailer.php:2212 Stack trace: #0 C:\inetpub\websites\MDS\assets\php\_extracted\vendors\vendor\phpmailer\phpmailer\src\PHPMailer.php(2019): PHPMailer\PHPMailer\PHPMailer->smtpConnect(Array) #1 C:\inetpub\websites\MDS\assets\php\_extracted\vendors\vendor\phpmailer\phpmailer\src\PHPMailer.php(1678): PHPMailer\PHPMailer\PHPMailer->smtpSend('...', '...') #2 C:\inetpub\websites\MDS\assets\php\_extracted\vendors\vendor\phpmailer\phpmailer\src\PHPMailer.php(1516): PHPMailer\PHPMailer\PHPMailer->postSend() #3 phar://C:/inetpub/websites/MDS/assets/php/shop/zpshop.phar/account/controllers/ShopAccountControllerRegister.inc.php(194): PHPMailer\PHPMailer\PHPMailer->send() #4 phar://C:/inetpub/websites/MDS/assets/php/shop/zpshop.phar/account/bl/ShopAccountStateMachineManager.inc.php(104): ShopAccountControllerRegister->HandlePost() #5 C:\inetpub\websites\MDS\warenkorb.php(230): ShopAccountStateMachineManager->RenderContent() #6 {main} thrown in C:\inetpub\websites\MDS\assets\php\_extracted\vendors\vendor\phpmailer\phpmailer\src\PHPMailer.php on line 2212

    Ich nehme an, ZP will ein Bestätigungsmail an den neuen Kunden senden.

    Meine SMTP Konfiguration des Shops (und des Kontaktformulars) ist folgende:

    SMTP verwenden - Ja

    SMTP-Debugging - Ja

    SMTP-Server = smtp.solnet.ch

    SMTP-Benutzername = <meinname>@solnet.ch

    SMTP-Kennwort = Mein Passwort

    SMTP-Anschluss = 587

    SSL-Modus = Auto-TLS

    SSL-Fehler ignorieren = Nein

    Wie erwähnt, kann ich mit diesen Einstellungen vom Kontaktformular meiner Website Mails versenden. Ebenso geht es mit Powershell mail-sendmessge <...>

    Nun habe ich den Netzwerkverkehr zwischen Webserver und Smtpserver analysiert. Ich verstehe nicht ganz alles, aber es scheint einigermassen plausibel.

    Kann das jemand besser als ich interpretieren und beurteilen ?

    Viele Grüsse

    Erich

    Grüsse

    Erich

    ZP 16.7.0 Business auf IIS mit Campfire Responsive

  • Hallo Michael

    In deiner Liste hast du aber "SMTP verwenden - Ja" geschrieben ?

    Ich habs auch mit "SMTP verwenden - Nein" geprüft, ergibt gleiche Fehlermeldung 'Authentication failed'. Da ich keinen lokalen Mailserver habe, bin ich auf eine SMTP Umgebung angewiesen, da vermute ich mal, dass "SMTP verwenden - Ja" gesetzt werden muss.

    Grüsse

    Erich

    ZP 16.7.0 Business auf IIS mit Campfire Responsive

  • Werden denn die PHP-Anforderungen für den https://docs.zeta-producer.com/online-shop.html erfüllt? Das allgemeine Kontaktformular läuft auch mit 7.3, für die Shopumgebung ist 8.0 erforderlich sowie Schreibrechte für /assets/php/SHOP_DATA/.

  • Die Extension sind alle vorhanden, ebenso das Schreibrecht.

    Ich habe nun folgendes gemacht: Im File PHPMailer.php habe ich auf Zeile 2212 statt $this->lang('authenticate') neu $this->Username . ' ' . $this->Password ausgegeben. Jetzt sehe ich, dass das Passwort leer ist. Füge ich vor der Abfrage auf Zeile 2204 das SMTP-Passwort testhalber mit $this->Password = 'vom Support gelöscht'; ein, dann wird das Bestätgungsmail über SMTP korrekt versendet.

    Dass die Authentifikation mit leerem Passwort fehlschlägt ist dann ja klar, ebenso ist auch der Unterschied zum Kontaktformular klar, denn bei Shop läuft es über die Klasse ShopAccountControllerRegister.

    Warum das Passwort in meiner Situation leer ist kann vermutlich nur jemand vom Support oder der Entwicklung beantworten.

    Grüsse

    Erich

    ZP 16.7.0 Business auf IIS mit Campfire Responsive

  • Danke, das hilft uns sehr. Ich spreche später mit unserem Entwickler und melde mich wieder.

    Freundliche Grüße
    Stefan S. (Zeta Producer-Support)

  • Das SMTP-Kennwort für den Shop wird aktuell noch verschlüsselt an den Server übertragen und dann mit OpenSSL des-cbc entschlüsselt. Vermutlich fehlt auf Ihrem Server das entsprechende des-cbc Cipher.

    Freundliche Grüße
    Stefan S. (Zeta Producer-Support)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!