Zitat:
Original geschrieben von _m3
Nein, ernsthaft. Wenn ich sehe, dass Leute einen "legitimen" Massenmailer in PHP implementierne, der Mails an zigtausend Adressen schickt, dreht sich mir der Magen um. a) wird da fuer jedes Mail das externe Programm aufgerufen ("tolle" Performance) und dann wundern sie sich, warum das Script im Browser in ein Timeput laeuft.
Und da frag ich mich dann schon ...
Nicht so gut, nicht so elegant und nicht so schnell wie Perl.
|
Das ist wie beim Achterbahn fahren, warum sich dein Magen umdreht.
Wegen dem Speed

Der SMTP läuft und muß nicht extra gestartet werden.
Wenn keine persönliche Anrede oder wechselnder Text in den Mails vorkommt, kann man mit bc wunderbar auf einmal 1000 und mehr Adressen übergeben.
Da flutschen die Mails wie die Sau
Aber auch wenn man individuelle Mails in Massen versenden will, kann man da ordentlich was optimieren. Nehmen wir ein Beispiel mit 1Mio Empfänger (durchaus denkbar mit der Funktion "mail"). Es wird ein Overhead erzeugt für die individuellen Teile der Mail. In diesem Fall ist der Performance sehr gut. Denn es muss nichts mehr generiert werden, oder einzelne Daten aus der DB gesucht werden. Es gibt eine gut indizierte und performanceoptimierte Overhead-Tabelle, wo man nur mehr, ohne großen Rechenaufwand Daten ausliest. Die Assemblierung der Mailtexte ist somit äußerst schnell...
Aber wenn es zu viele Mailadressen werden, ist es in punkto Performance wieder besser, wenn man die Funktion z.B. 100mal mit 1000Adressen aufruft. Und einen Refresh macht man nach allen 10 Aufrufen. Bei einer ganz professionellen Lösung wird auch die Zeit gemessen und erst kurz vor einem Timeout ein Refresh durchgeführt, was die Performance natürlich wieder steigert.
Da geht die Sau ab mit PHP
/me sitzt im Bunker mit Vollaspestanzug und schaut durch kleines Fenster
Sloter