Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Fehler bzw. unzureichende Möglichkeiten bei der Konfiguration des Mail-Versands

    Eihops

    • Frisch an Board
    • Beiträge: 58
    Hallo zusammen,

    die Sache hat mich den ganzen Nachmittag gekostet, und jetzt möchte ich der Community ein bißchen zurückgeben; ich bin sicher, daß über das folgende Problem schon Viele gestolpert sind.

    Und los geht's:

    Ich war heute endlich so weit, Testbestellungen im Shop zu machen. Leider wurden keine Bestätigungs-Mails versendet. Ich habe in der E-Mail-Konfiguration alle sinnvollen Kombinations-Möglichkeiten ohne Erfolg getestet. Da ich den betreffenden SMTP-Server unter eigener Kontrolle habe, konnte ich auch dort testweise einige Einstellungen ändern. Nach einigen Stunden habe ich die Ursache des Problems gefunden und (notdürftig) behoben:

    Grundsätzlich arbeiten wir per SMTP ("E-Mail-Transport-Methode") auf Port 25 ("SMTP-Port") mit STARTTLS ("SMTP SECURE" auf TLS), und natürlich mit SMTP-Authentifizierung ("SMTP-Auth" = JA). Im Prinzip funktioniert diese Konfiguration.

    Das Problem:

    Es gibt mehrere Arten der SMTP-Authentifizierung, z.B. PLAIN, LOGIN, CRAM-MD5, Kerberos usw. Jedoch gibt es dafür keine Auswahlbox in der Konfigurations-Oberfläche! Nach Durchsicht des Quellcodes ist zudem klar, daß auch intern (also quasi "heimlich" im Code) seitens modified die Art der Authentifizierung nicht gesetzt wird.

    Das bedeutet, daß PHPMailer dann sein eigenes Default-Verfahren anwendet, und das war bei uns CRAM-MD5; vermutlich ist es bei PHPMailer der Default, weil es zumindest nicht total unsicher ist.

    Für uns war das ein Problem: Unser SMTP-Server in Internet bietet zwar generell CRAM-MD5 jedem Client an, läßt aber in einem nachgeschalteten Filter diese Art der Authentifizierung nur für bestimmte Clients zu (darauf kann ich nicht näher eingehen). Was dagegen wirklich jedem Client offen steht, ist die PLAIN-Authentifizierung. Diese stellt (in unserem Fall!) kein Sicherheits-Risiko dar, da ausschließlich TLS-verschlüsselte Verbindungen zum Einsatz kommen.

    Damit war der Weg zur Lösung klar. Wir haben im Code die Stelle gesucht, an der die Optionen für das $mail-Objekt gesetzt werden, und eine Zeile hinzugefügt. In der Datei /inc/xtc_php_mail.inc.php haben wir die Zeile

    Code: PHP  [Auswählen]
    $mail->SMTPAuth = (SMTP_AUTH == 'true') ? true : false;

    durch folgende Zeilen ersetzt:

    Code: PHP  [Auswählen]
    $mail->SMTPAuth = (SMTP_AUTH == 'true') ? true : false;
    $mail->AuthType = 'PLAIN';

    Wie man sieht, haben wir das PLAIN-Verfahren hart kodiert. Diese Lösung ist natürlich nur vorübergehend und nicht update-sicher, aber einfach zu verstehen und von jedem leicht anzuwenden, der ein ähnliches Problem hat. Wir werden vermutlich jetzt unseren SMTP-Server umkonfigurieren, aber das wird wegen der dort vorhandenen Spezial-Lösung dauern.

    Bislang war diese Spezial-Lösung kein Problem, weil wir bisher bei allen (!) verwendeten SMTP-Clients die Art der SMTP-Authentifizierung explizit festlegen mußten. modified mit PHP-Mailer ist der erste Client, der zu smart vorgeht und aus den vom Server angebotenen Verfahren das sicherste wählt.

    Der Feature-Request besteht nun darin, in die E-Mail-Konfiguration eine zusätzliche Zeile mit einer Drop-Down-Box einzubauen, aus der das gewünschte Authentifizierungs-Verfahren gewählt werden kann. So machen es Mail-Clients auch, z.B. Thunderbird. Diese Auswahl muß dann lediglich an der oben genannten Stelle im Code berücksichtigt werden. Für die Entwickler des modified-Shop ist das sicher ein No-Brainer.

    Viele Grüße und vielen Dank,

    Eihops

    Linkback: https://www.modified-shop.org/forum/index.php?topic=42637.0

    Timm

    • Fördermitglied
    • Beiträge: 6.257
    Moin

    Danke für deinen Beitrag. Hier kannst du das als Featurewunsch festhalten: https://trac.modified-shop.org/newticket

    Gruß Timm

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Ich frage mich, ob nicht die meisten Shop-Betreiber mit einer solchen Konfigurations-Option überfordert wären.
    Ohne es geprüft zu haben sehe ich im Code des PHPMailer diesen Kommentar:

    Code: PHP  [Auswählen]
    /*
    * Options are CRAM-MD5, LOGIN, PLAIN, XOAUTH2, attempted in that order if not specified.
    */

    Das deutet doch darauf hin, daß die verschiedenen Authentifizierungs-Typen der Reihe nach durchprobiert werden.
    Es dürfte also eigt. kein Problem geben... ??
    Die Version ist mit 6.6.0 relativ aktuell (es gibt inwzischen 6.6.5).

    Gruß,
    noRiddle

    Eihops

    • Frisch an Board
    • Beiträge: 58
    Aus meiner Erfahrung heraus: Im Bereich SMTP ist die Aushandlung des Verfahrens manchmal problembehaftet. Und dann gibt es noch die Spezialfälle wie den unseren ... es hat seinen Grund, daß viele Mail-Clients (z.B. Thunderbird) ebenfalls an der entsprechenden Stelle in den Konto-Eigenschaften die Auswahl eines Verfahrens anbieten, die man korrekt setzen muß :-)

    Mein Vorschlag wäre aber ohnehin, in dem gewünschten Dropdown-Feld einen Eintrag "Automatisch" zu haben, der dann zum bisherigen Verhalten führt.

    Viele Grüße und vielen Dank,

    Eihops

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Nein, nicht "Vielen Dank", sondern bitte deinen Teil zur Community beitragen, indem du nicht nur hier berichtest, bzw. eine Verbesserung anstösst, sondern das auch, wie Timm in Antwort #1 schrieb, im Bug-Tracker als Typ "Neues Feature" erfasst.

    Gruß,
    noRiddle

    Eihops

    • Frisch an Board
    • Beiträge: 58
    Ja, klar, bin schon dabei ...

    Auf das Vielen Dank verzichte ich trotzdem nicht angesichts der Unterstützung, die hier geleistet wird :-)

    Viele Grüße,

    Eihops

    Eihops

    • Frisch an Board
    • Beiträge: 58
    Erledigt - Ticket ist angelegt.

    Bezüglich des Problems mit dem Zombie-Link nach Entfernung des Kontakt-Formulars ("Link zum Kontakt-Formular überall entfernen - "offizielle" Methode?") folgt gleich noch eines.

    Viele Grüße,

    Eihops

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Hier die Referenz zum Ticket #2378.

    Gruß,
    noRiddle
    3 Antworten
    3186 Aufrufe
    07. Oktober 2009, 22:28:52 von Tomcraft
    5 Antworten
    3399 Aufrufe
    29. März 2009, 15:36:37 von Anonym
    5 Antworten
    7557 Aufrufe
    07. März 2023, 20:44:50 von Tomcraft
    18 Antworten
    14715 Aufrufe
    01. September 2018, 08:03:55 von Chopper-Fahrer