vBulletin Notification Email Kodierung

  • in den Benachrichtigungs-Email von vBulletin 5 sind die Zeichensätze falsch.

    Es betrifft sowohl den Inhalt der Nachricht, als auch die enthaltene URL zum Beitrag. Bei Kommentaren betrifft es auch noch den Betreff der Mail selbst.

    Lösung im Testsystem: ACP -> Optionen -> Email-Optionen -> UTF-8-kodiert senden auf "ja".

    vBulletin kodiert ansonsten nicht selbst, auch wenn das System auf utf8 steht. Der entsprechende Header kommt erst, wenn die Kodierung explizit aktiviert wird:

    Code
    Subject: =?UTF-8?q?Reply_to_doppelte_W=C3=B6rter?=
    X-PHP-Originating-Script: 1001:mail.php
    From: "Syno-Forums" <entfernt>
    Auto-Submitted: auto-generated
    Message-ID: <entfernt>
    MIME-Version: 1.0
    Content-Type: text/plain; charset="UTF-8"

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • Ist doch kein Problem. Wandere hier eh im Core hoch und runter... Sag mal, gibt es bei vBulletin eigentlich so was wie das codex von WB? Also einer Liste alles vBulletin-Funktionen, deren Funktionsweise und Parameterfestlegungen? Ist ja echt nervend so, wenn man sich jede Funktion da erst mühsam zusammensuchen muss.

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • soweit ich weiss nicht..
    würd es auch sicherlich nicht geben. ich frage trotzdem mal den vbSupport.

    Nachher sind wir aber Off, da ich I-MSCP aktualisiere und SSL Wildcard installieren muss. Zertifikat läuft ja ab. Wird so gegen Abend sein. Die anderen Server muss ich auch aktualsieren. Heute also muss ich mich rar machen.

    Habs ja angekündigt zum 2.April, muss ich hier aus dem Büro machen. Geht nicht anders.
    Ich pass nen guten Moment ab. Vielleicht mach ich das späten Nachmittag. Muss ich mal schauen.

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    - nun stolz rauchfrei - Ich denke also Bing ich!

    Support 24h Bereitschaft 0173 6107465 - NUR Für Kunden von SEO NW!

  • Also der Zeichensatz in den Benachrichtigungen ist noch immer oder schon wieder teilweise falsch.

    Im Header steht
    "Subject: =?UTF-8?q?Reply_to_testC3B6?="

    das müsste aber
    "Subject: =?UTF-8?q?Reply_to_test=C3=B6?="

    sein. Irgendwie verliert der hier die =. Im Testsystem geht das aber. URLs und Inhalt der Benachrichtigung sind auch korrekt, nur der Betreff ist falsch.

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • NEUER Bug in vBulletin 5.1.1

    Also Alex, irgendwie wird hier Pfusch gebaut, aber das direkt von vBulletin!

    Bei Dir in der neuen Version steht in der /core/vb/mail.php das hier:

    PHP
    // see rfc 2047; not including _ as allowed here, as I'm encoding spaces with it
    $outtext = preg_replace_callback('#([^a-zA-Z0-9!*+\-/ ])#',
        function($matches)
        {
            return strtoupper(dechex(ord($matches[1])));
        }, $text
    );
    $outtext = str_replace(' ', '_', $outtext);
    $outtext = "=?$charset?q?$outtext?=";
    return $outtext;


    Bei mir in der alten 5.1.0 steht das hier:

    PHP
    // see rfc 2047; not including _ as allowed here, as I'm encoding spaces with it
    $outtext = preg_replace('#([^a-zA-Z0-9!*+\-/ ])#e', "'=' . strtoupper(dechex(ord(str_replace('"', '"', '\\1'))))", $text);
    $outtext = str_replace(' ', '_', $outtext);
    $outtext = "=?$charset?q?$outtext?=";


    Gut, die haben das nun auf "preg_replace_callback" geändert, aber um Gottes Willen, wo ist denn das '=' nun hin? Bei mir in der Funktion wird das = beim ersetzten Sonderzeichen voran gestellt (vor dem Aufruf von strtoupper), bei Dir in der neuen Funktion fehlt es.

    Also irgendwie kein Wunder, dass das nun auch in der Mail selbst fehlt und der "Subject" nun wieder falsch ist. Da wird das Sonderzeichen per dechex(ord()) ersetzt und der benötigte = davor einfach vergessen. (genau genommen sind so sogar alle Mail-Header falsch, die ein Sonderzeichen enthalten)

    Irgendwie erschließt sich mir das nicht, oder es ist ein klassischer Fall von KAPUTTOPTIMIERT!

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(