Zum Inhalt springen

direct_mail bzw Swiftmailer unerträglich langsam

Erstellt am 5. September 2012 · 6 Antworten · letzte Antwort am 1. Januar 2013

Tags: Direct Mail, E-Mail-Versand, Frage

Unbekannter Benutzer ·

Hallo zusammen,

wir setzen seit längerem direct_mail bei einem Kunden ein. Früher war der Mailversand auch nie wirklich schnell,
nachdem wir aber vor 2 Wochen endlich das Update von 4.2 auf 4.5 durchgeführt haben, ist der Mailversand unerträglich geworden.

Wir haben den lokalen Versand, das Schreiben einer mbox und auch den Versand über einen anderen SMTP Server versucht, das
Ergebnis war allerdings in allen Fällen das Gleiche:
Pro versendeter Mail vergehen 5-10 Sekunden.

Nach ein bisschen Debugging in direct_mail konnten wir herausfinden, das das eigentliche Problem bei Swiftmailer zu liegen scheint.

In t3lib_mail_MboxTransport->send wird Swift_Mime_Message->toString() von Swiftmailer aufgerufen und alleine dieser Aufruf
benötigt die genannten 5-10 Sekunden.

Hat noch jemand eine Idee, wo wir ansetzen können um den Versand wieder auf eine erträgliche Geschwindigkeit zu bekommen?

Julian.​Hofmann ·

Hallo Carsten.

Du hast geschrieben, dass ihr TYPO3 auf 4.5 gehoben habt. Welche Version von direct_mail verwendet ihr dazu?

Mit 4.5 kam zwar der Swiftmailer in TYPO3 rein, jedoch ist direct_mail erst aber Version 3 darauf wirklich eingestellt. Zuvor gab es lediglich den Weg, dass über das substituteOldMailApi TYPO3 seine Mailmethode mehr oder weniger gut umgebogen hat auf den Swiftmailer.
Vermutlich dürfte die Kombination TYPO3 4.5 (mailtransport=SMTP) + direct_mail 3.x besser tun.

Viele Grüße
Julian

Unbekannter Benutzer ·

Wir sind leider immer noch dabei sowohl direct_mail als auch Swiftmailer auseinander zu nehmen um zu verstehen wo der Flaschenhals ist.

Wir haben versucht in der Function sendTheMail in direct_mail den Swiftmailer auf 8Bit Encoding um zu stellen ( $mailer->setEncoder(Swift_Encoding::get8BitEncoding()); ).
Die Mail bleibt komischerweise nach wie vor Quoted-printable, der Versand geht aber deutlich schneller vonstatten.

Ein weiteres Problem ist, das die Exception von Swiftmailer, wenn eine Adresse fehlerhaft ist, nicht in direct_mail abgefangen wird. direct_mail unterbricht dann einfach komplett den Versand. Selbst wenn der Versand über den Planer/Scheduler gestartet wird, klappt das Ganze genau 1x, weil anschliessend der Task deaktiviert wird.

papillon6 ·

Im TYPO3 "Protokoll" sind mir einige Fehlermeldungen aufgefallen, die von einer Swiftmailer-Funktion stammen.

Core: Error handler (BE): PHP Warning: fseek() [<a href='function.fseek'>function.fseek</a>]: stream does not support seeking in /html/typo3_src/typo3/contrib/swiftmailer/classes/Swift/ByteStream/FileByteStream.php line 137

Habe daraufhin Folgendes in der Forge gefunden:
http://forge.typo3.org/issues/37594

Es scheint also definitiv ein bekanntes Problem mit der Swiftmailer-Version in TYPO3 4.5 zu geben - derzeit ohne Patch.

Ich habe das Problem umgangen, indem ich ein Downgrade auf DM 2.7 durchgeführt habe. (In TYPO3 4.7 ist bereits die neue Swiftmailer-Version enthalten - ein Upgrade kam bei mir jedoch nicht in Frage.) Ohne Swiftmail läuft DirectMail 2.7 wie gewohnt...

Seltsamerweise läuft DirectMail 3.0.2 mit T3 4.5 auf einem anderen Server ohne Probleme (hier versende ich jedoch reine Plaintext-Mails).

Würde mich dennoch freuen, wenn du mich/uns auf dem Laufenden hältst.

pkuehnle ·

Schönes Neues Jahr!

Ich schliesse mich an - eine Lösung würde mich auch interessieren. Hat sich denn mittlerweile nach euerem Kenntnisstand was getan?

Schöne Grüße,
Peter