[TYPO3-german] Bug in direct mail, der zur permanenten Versendung an 50 Empfänger führt

Alexander Bohndorf bohndorf at sitegeist.de
Tue Aug 15 11:47:04 CEST 2006


Habe die Extension sms_directmail_ext um einen entsprechenden Bugfix 
erweitert.

Funktioniert derzeit aber nur für Typo 3.8 mit direct_mail 1.1
Überarbeite die Extension derzeit, dass sie auch mit Typo3 4.0 und 
direct_mail 2.x arbeitet.

Grüße,

Alexander

"Alexander Bohndorf" <bohndorf at sitegeist.de> schrieb im Newsbeitrag 
news:mailman.1.1155565294.3111.typo3-german at lists.netfielders.de...
> Wir haben einen Kunden, der ca. 16.000 Newsletter-Empfänger hat und haben 
> regelmäßig Mailings durchgeführt.
>
> Beim letzten Mailing blieb der Cronjob bei ca. 400 Adressen stehen und 
> versendete jede Minute permanent wieder an dieselben 50 Empfänger.
>
> Ursache ist, dass direct  mail an einem Eintrag in der Tabelle 
> sys_dmail_maillog erkennt, ob er bereits an einen Empfänger versendet hat. 
> Diese Tabelle war mit ca. 107.000 Datensätzen an die 4 GB-Grenze für eine 
> Tabelle gestoßen. MySQL hat einen "table full"-Fehler beim 
> Insert-Statement geliefert, der aber einfach ignoriert wurde.
> Nach einer Minute startet der Cronjob erneut und holt sich die 50 ersten 
> Empfänger, die noch keinen Newsletter bekommen haben.
> Das würde er jetzt noch tun, wenn wir ihn nicht gestoppt hätten.
>
> Der Bug ist zu finden in class.t3lib_dmailer::dmailer_addToMailLog in der 
> Zeile:
> $GLOBALS['TYPO3_DB']->exec_INSERTquery('sys_dmail_maillog', 
> $insertFields);
>
> Hier muss der Rückgabewert überprüft werden und im Fehlerfall muss die 
> gesamte Newsletterversendung abgebrochen werden und der Cronjob muss bei 
> der nächsten Ausführung daran gehindert werden, wieder zu versenden.
>
> Ich werde das als Bug reporten, dachte nur, dass das für den einen oder 
> anderen von euch interessant sein könnte, da das natürlich für jedes 
> direct mail Projekt eine tickende Zeitbombe darstellt.
>
> Schnelle Abhilfe: Nach jedem Mailing die Tabelle leeren (oder nur die 
> Datensätze mit mid=uid des letzten Mailings stehen lassen).
>
> Viele Grüße,
>
> Alexander Bohndorf
> 





More information about the TYPO3-german mailing list