Unerklärlicher Effekt, doppelte punkte in URLs [Gelöst]

  • florist florist
    Jedi-Ritter
    0 x
    130 Beiträge
    0 Hilfreiche Beiträge
    14. 06. 2013, 14:24

    Hallo liebe Gemeinde

    ich stehe vor einem sehr seltsamen Problem.
    Wenn vom Typo3 System E-Mails mit Links versendet werden, habe ich völlig unregelmässig in manchen URLs einen doppelten Punkt
    z.B. http://www..domain.com oder auch http://www.domain..com oder http://www.domain.com/index..php

    Das Ganze verhätlich sehr inkonsistent und tritt nur vereinzelt bei Links auf.
    z.B Newsletterversand mit direct_mail von ca. 50 Links im Newsletter tritt bei 2 der Effekt auf, versende ich ihn nochmals tritt der bei anderen Links auf, nicht mehr bei den selben.
    Zunächst dacht ich es ist eine Konfigurationsgeschcihte, aber nun ist es mir auch in anderen Extensions aufgefallen.
    (toctoc_comments versendet E-Mails um kommentare vom Administrator freischalten lassen zu können, auch bei einigen Links in diesen Mails kommt der ".." effekt vor.

    ich kann mir nicht erklären woran das liegen soll, es laufen viele typo3 Seiten auf diesem server mit denselben Konfigurationen, Extensions und Versionen. Bisher hatte ich das Problem nie.

    Kann es an der Relurl Config liegen? oder daran dass ich mir auf dieser spezeillenseite die URLs mit ".html" am ende generieren lasse?
    Bin für Jede Idee dankbar, denn auch freund Google konnte mir überhaupt nicht weiterhelfen.

    Grüsse
    Flo


  • florist florist
    Jedi-Ritter
    0 x
    130 Beiträge
    0 Hilfreiche Beiträge
    28. 06. 2013, 14:32

    Puh...
    Ich glaub das übersteigt meine Fähigkeiten.
    Ich weiss nicht genau wie oder wo ich in der class.t3lib_mail_swiftmaileradapter.php das encoding anpassen kann.

    Es gibt hier eine Variable

    1. $encoding = '';

    Aber was muss ich hier eintragen, damit ich mal das 7-bit encoding aktivieren kann?

    1. protected function setBody($body) {
    2. if ($this->boundary) {
    3. // handle multi-part
    4. $bodyParts = preg_split('/--' . preg_quote($this->boundary) . '(--)?/m', $body, NULL, PREG_SPLIT_NO_EMPTY);
    5. foreach ($bodyParts as $bodyPart) {
    6. // skip empty parts
    7. if (trim($bodyPart) == '') {
    8. continue;
    9. }
    10. // keep leading white space when exploding the text
    11. $lines = explode(LF, $bodyPart);
    12. // set defaults for this part
    13. $encoding = '';
    14. $charset = 'utf-8';
    15. $contentType = 'text/plain';
    16. // skip intro messages
    17. if (trim($lines[0]) == 'This is a multi-part message in MIME format.') {
    18. continue;
    19. }
    20. // first line is empty leftover from splitting
    21. array_shift($lines);
    22. while (count($lines) > 0) {
    23. $line = array_shift($lines);
    24. if (preg_match('/^content-type:(.*);( charset=(.*))?$/i', $line, $matches)) {
    25. $contentType = trim($matches[1]);
    26. if ($matches[2]) {
    27. $charset = trim($matches[3]);
    28. }
    29. } elseif (preg_match('/^content-transfer-encoding:(.*)$/i', $line, $matches)) {
    30. $encoding = trim($matches[1]);
    31. } elseif (strlen(trim($line)) == 0) {
    32. // empty line before actual content of this part
    33. break;
    34. }
    35. }
    36. // use rest of part as body, but reverse encoding first
    37. $bodyPart = $this->decode(implode(LF, $lines), $encoding);
    38. $this->message->addPart($bodyPart, $contentType, $charset);
    39. }
    40. } else {
    41. // Handle single body
    42. // The headers have already been set, so use header information
    43. $contentType = $this->message->getContentType();
    44. $charset = $this->message->getCharset();
    45. $encoding = $this->message->getEncoder()->getName();
    46. // reverse encoding and set body
    47. $rawBody = $this->decode($body, $encoding);
    48. $this->message->setBody($rawBody, $contentType, $charset);
    49. }
    50. }

  • karlchen karlchen
    Jedi-General
    0 x
    1433 Beiträge
    30 Hilfreiche Beiträge
    28. 06. 2013, 15:13

    hmm, vielleicht erst mal nur ein Strohhalm ...

    Hier wird ebenfalls ein DoppelPunkt Problem beschrieben http://forge.typo3.org/issues/47064, allerdings auch ein einfacherer Workaround:

    We solved this problem by switching the default type for mail transport to 'smtp' instead of 'mail'.

    $TYPO3_CONF_VARS['MAIL']['transport'] = 'smtp';

    Sollte man im InstallTool Einstellen können.

  • karlchen karlchen
    Jedi-General
    0 x
    1433 Beiträge
    30 Hilfreiche Beiträge
    28. 06. 2013, 16:22

    vielleicht auch nur noch mal um deinen Workaround zu testen
    ich nehme mal an deinen Newsletter verschickst du über Direct_mail und dort hast du einen Scheduler Task eingerichtet,der das automatische Senden übernimmt ?

    Dann kannst du dir zum testen mal diese Datei ansehen:
    direct_mail/res/scripts/class.dmailer.php -> und dort die Funktion sendTheMail(),

    dort würde ich mal testhalber vor dem

    1. //TODO: do we really need the return value?
    2. $sent = $mailer->send();

    deinen Workaorund testen

    1. $mailer->setEncoder(Swift_Encoding::get7BitEncoding());
    2.  
    3. //TODO: do we really need the return value?
    4. $sent = $mailer->send();

  • florist florist
    Jedi-Ritter
    0 x
    130 Beiträge
    0 Hilfreiche Beiträge
    28. 06. 2013, 16:44

    Meister Karlchen, dein Tipp war Gold wert!!!

    1. We solved this problem by switching the default type for mail transport to 'smtp' instead of 'mail'.
    2. $TYPO3_CONF_VARS['MAIL']['transport'] = 'smtp';

    Und ich gram da im TYPO3 Core umher, dabei liegt das Problem ganz wo anders.
    Über SMTP klappt nun scheinpaar alles. Zumindest auch bei den Tests mit 10 Adressen.
    Den Grossen Test gibts dann am Mittwoch wenn 10000 raus gehen :-p

    Danke nochmal für deine Hilfe und shcönes Wochenende

  • karlchen karlchen
    Jedi-General
    0 x
    1433 Beiträge
    30 Hilfreiche Beiträge
    28. 06. 2013, 20:34

    Mensch, das freut mich das es geklappt hat :)

    Mal so nebenbei, woher würdest du wissen das am Mittwoch alles klappt ? Habt ihr irgendein Monitoring oder einfach nur Abonnenten die sich melden wenn was nicht geht ?

    Wir verschicken nämlich auch mit direct_mail Newsletter und da gibt es auch gerade ein Problem was ich irgendwie noch klären muss...

  • florist florist
    Jedi-Ritter
    0 x
    130 Beiträge
    0 Hilfreiche Beiträge
    01. 07. 2013, 08:24

    Moin moin!

    Naja, Mittwoch gehen bei uns ne Menge Newsletter raus, unter anderem auch der Problemfall. Wir haben eine geringe Anzahl an Testern, die uns Rückmeldung geben.
    Aber bei meinem Problem dürfte das einfach werdne, dann die ".." sind ja in jeder Mail aufgetreten, d.h. wenn 10 leute keine .. drin haben, sollten auch die anderen sauber sein.
    Was hast du für ein Problem? Vielleicht kann ich die weiterhelfen. Bin Zwar kein codecrack, aber mit directmail doch ziemlich fit. ;-)

  • karlchen karlchen
    Jedi-General
    0 x
    1433 Beiträge
    30 Hilfreiche Beiträge
    01. 07. 2013, 14:28

    Moin,

    ach so, na gut statistische Hochrechnungen also :)
    Mein Problem habe ich mal hier als neuen Beitrag erstellt: http://www.typo3.net/forum/beitraege/newsletter/115288/
    Wenn da ne Idee hast, immer her damit. :)