| Nucleon |
|
|
AyomRank 2 ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 18 Mitglied seit: 13.12.2005 |
N'Abend Leute,
meine Schülercommunity e-Hausaufgaben.de hat mittlerweile die 100.000-Mitglieder-Marke geknackt und ich verzweifle regelmäßig beim Versenden großer Mengen an Mails, wie beispielsweise dem Newsletter. Server: Apache/2.2.0 (Linux/SUSE) Das Problem ist, dass ich zur Zeit den personalisierten HTML-Newsletter mit PHP und mail() verschickte. Da schaffe ich ca. 400 Mails, bevor das Skript nach 300 Sekunden ein Timeout hat. Also lasse ich über mehrere Tage einen Cronjob laufen, der alle paar Minuten ein paar Mails verschickt. Ziemlich blöde Lösung, da es viel zu lange dauert und eine Menge Serverleistung beansprucht. Ich kann mir nicht vorstellen, dass nun eine Software wie z.B. supermailer.de dieses Problem einfach umgehen kann. Wie kann ich dieses Problem lösen? Brauche bitte eure Hilfe Vielen Dank und einen schönen Abend noch, Lukas -------------------- |
![]() |
| AlessandroCH |
#2 Geschrieben am: Mo 17.12.2007, 23:40 (+00:26)
|
|
AyomRank 4 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 120 Mitglied seit: 21.02.2007 |
Wenn du es auf einer Weboberfläche machen willst muss sich die Seite per Javascript immer wieder selbst aufrufen und da weiter machen wo sie beim letzten Aufruf aufgehört hat. Vielleicht kannst du auch einen Mailverteiler einrichten, ich meinte dem sollte egal sein um wie viele Adressen es sich handelt.
|
![]() |
| Nucleon |
#3 Geschrieben am: Mo 17.12.2007, 23:56 (+00:16)
|
|
AyomRank 2 ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 18 Mitglied seit: 13.12.2005 |
Ich halte den Versand über PHP einfach für unbrauchbar in diesem Fall, da ändert auch die Software/Oberfläche nichts.
Und ein Verteiler bringt mir nichts, da die Mails individualisiert sind und auch sein sollen. |
![]() |
| René Weber rwx-support |
#4 Geschrieben am: Di 18.12.2007, 09:50 (+09:53)
|
![]() AyomRank 7 Gruppe: Moderatoren Beiträge: 1169 Mitglied seit: 3.09.2004 |
Google mal nach "Mail Exploder". Ich hatte vor jahren (etwa 10 sind's schon) ein ähnliches Problem. Wir haben dann einen "Mail Exploder" unter HP-UX 9.x eingerichtet und der hat dann monatlich einige zug-tausend Mails versandt und zwar schön eines nach dem anderen.
Cheers, René -------------------- |
![]() |
| Sven K |
#5 Geschrieben am: Di 18.12.2007, 09:56 (+00:05)
|
|
AyomRank 4 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 141 Mitglied seit: 27.10.2006 |
am sinnvollsten wäre hier eine eigene mail queue (z.b. auf datenbank basis) die dann von einem (oder später auch mehreren) daemon(s) (in welcher sprache auch immer) abgearbeitet wird.
man kann ggf auch auf einen dienstleister ausweichen (was bei der anzahl an mails imho aber eher noch nicht so lohnt) -------------------- |
![]() |
| tmankartz |
#6 Geschrieben am: Di 18.12.2007, 09:57 (+00:01)
|
|
AyomRank 3 ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 44 Mitglied seit: 11.01.2007 |
Hallo,
ich denke, wenn das Script wirklich nach 300s abbricht, handelt es sich um ein Problem mit der PHP Konfiguration. Einfach mal in der php.ini gucken und nach den Einstellungen für TimeOut und Scriptlaufzeit suchen. -------------------- Timo Mankartz
Geschäftsführer, dogado Internet GmbH Ihr PREMIUM*** SERVICE PROVIDER provider.BOX vServer Resellersystem / online Backup / Hardware Spamfilter ab 9.99 Euro |
![]() |
| Eric-Oliver Mächler Mächler-Networks |
#7 Geschrieben am: Di 18.12.2007, 11:20 (+01:23)
|
![]() AyomRank 5 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 368 Mitglied seit: 16.09.2007 |
ich selbst habe auch ein paar newsletter zu versenden die an mehr als 80k adressaten geht. hier in diesem forum wurde mir SuperMailer empfohlen. (www.supermailer.de) Die Paar euro waren wirklich eine gute Investition...
-------------------- =========================================
Webdesign, Design, IT Security, Webhosting, DomainTrading http://blog.schweizer-web.ch - Mein Blog ========================================= |
![]() |
| Webi |
#8 Geschrieben am: Di 18.12.2007, 11:39 (+00:19)
|
|
AyomRank 6 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 658 Mitglied seit: 28.03.2004 |
Wir haben auch supermailer im Einsatz. Versenden zwar nicht soviele Mails, aber das Tool kann ich nur empfehlen.
-------------------- www.linkit.ch - Das Webverzeichnis mit Links aus dem Deutschsprachigen Raum.
Preise vergleichen bei Shopono.de www.bebelino.ch - Onlineshop für Baby- und Kinder-Produkte |
![]() |
| Mar-T |
#9 Geschrieben am: Di 18.12.2007, 15:35 (+03:56)
|
|
AyomRank 4 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 112 Mitglied seit: 13.12.2005 |
> Wie kann ich dieses Problem lösen?
0,75 Sekunden pro Mail sind definitiv viel zu viel. Aber evtl. ist nicht die Mailfunktion bzw. der Mailserver das Problem, sondern der Teil der den Newsletter erstellt? Du schreibst ja, dass sie personalisiert sind. Ich komme mit einem ultra-personalisierten Newsletter mit PHP und mail() auf ca 0,03 Sekunden/Mail. Ich würde erstmal den Script zerfitzeln und schauen wo der Engpass ist. |
![]() |
| MX |
#10 Geschrieben am: Mi 2.01.2008, 12:31 (+14d 20:55)
|
|
AyomRank 4 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 170 Mitglied seit: 2.01.2008 |
Hallo,
ich würde phplist oder nletter wählen ... |
![]() |
| deetee |
#11 Geschrieben am: Mi 2.01.2008, 12:58 (+00:26)
|
|
AyomRank 4 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 80 Mitglied seit: 11.12.2004 |
Ich habe folgende Ideen zur Lösung:
- max. Skriptausführungszeit verlängern in der php.ini --- bleibt immernoch das Problem der Browser Timeouts, wenn mans über ne Web Oberfläche ausführt - per Cronjob ausführen lassen (nur einmal!) + normale Skriptausführungszeit beibehalten + Selbstaufruf mit header() --- das Versenden Skript ruft sich nach einer Anzahl von verschickten mails per header() selbst auf --- das Versenden Skript muss sich die Position merken an die es zuletzt gesendet hat vor header() Aufruf und dann ab da weiter versenden |
![]() |
| Marc Schuler Host2Day ISP International |
#12 Geschrieben am: Mi 2.01.2008, 13:35 (+00:37)
|
![]() AyomRank 8 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 1541 Mitglied seit: 1.11.2005 |
Hab mit folgendem Script positive Erfahrungen gemacht und kann es sehr empfehlen (Einsatz war bei mir für über 1 Mio Mails):
http://www.coder-world.de/cw/seite__pagewebdesignnlspro.html Gruss Marc -------------------- ----------------------------------------------------------------------------------------
Premium Webhosting [neu an der Tössfeldstrasse 37 (2. Stock) in Winterthur] ---------------------------------------------------------------------------------------- |
![]() |
| PH |
#13 Geschrieben am: Sa 5.01.2008, 10:55 (+2d 21:19)
|
|
AyomRank 7 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 1258 Mitglied seit: 29.08.2004 |
Marc, das kostet aber...
An die früheren Poster: Scripttimeout ist auf jeden Fall sinnvoll. Sonst können unglückliche Umstände euren Server lahmlegen. Ich habe das selbst gelöst, indem ich eine Kombination aus mysql, php und cronjob gemacht habe. Ich bediene damit ca. 45000 adressaten. So sieht das circa aus (nagelt mich nicht fest, ich erkläre nur schnell wie ich das skript aufgebaut habe, vielleicht fehlen details): TABLE: mail - Mail-ID - Mail-Text - Mail-SQL (sql-query, die für die wahl der e-mail adressen verwendet wird) - Mail-count (Mitgliedernummer, bei der der Mailer angekommen ist) - meine mitglieder haben steigende nummern - Mail-status (1: aktiv; 0: inaktiv) - Mail-Priorität PHP-mail-admin - Mail erstellen, löschen (text, SQL) - Mail-Status auf 1 oder 0 setzen - (autom.) Mail-count bei neuen Mails auf 0 - Manuelle anpassung des mail-counts (z.B. wg. unterbruch des scripts, evtl. um den "*" zu löschen), und das script nochmal anzustossen. PHP-mailer - welche mailings sind aktiv? wenn keine, dann exit - laden aktuelle mitgliedernummer, wenn enthält = *, dann in arbeit, exit - mailing mit höchster priorität auswählen (höchste prio und tiefste mail-ID) - SQL ausführen, ORDER ASC by Mitgliedernummer wo Mitgliedernummer < letzte Mitgliedernummer+300 and > letzte mitgliedernummer, LIMIT 300. - set mitgliedernummer to "letzte mitgliedernummer."*" - Mail loop: senden aller 300 mails, immer setzen letzte mitgliedernummer++."*" - Bei Ende: "*" von der aktiven mitgliedernummer löschen. - Wenn aktive mitgliedernummer = max(mitgliedernummer), status Mailing = 0 setzen CRON-Job: alle 13 Sekunden den PHP-Mailer aufrufen, je nach schnelligkeit des mailservers kann das auch 60 sekunden oder 120 sekunden sein. Mein Script hält sich selbst an, wenn das PHP-timeout erreicht wird: der gesetzte "*" ist dann da. Man muss ein wenig rumprobieren, um die sinnvollste Kombination aus CRON-Intervall, anzahl E-Mail addressen aufs Mal und PHP-Timeout zu finden. |
![]() |
| deetee |
#14 Geschrieben am: Sa 5.01.2008, 13:59 (+03:04)
|
|
AyomRank 4 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 80 Mitglied seit: 11.12.2004 |
@PH
hättest du meinen 2. vorschlag genauer gelesen, wär dir aufgefallen, dass er ähnlich deinem arbeitet, nur mit dem vorteil, dass der cronjob das PHP Mailer Skript nur einmal aufrufen muss. Mit header ruft sich das Skript selbst auf, so beginnt der Skripttimeout von vorne. Skripttimeout ist natürlich sinnvoll, aber man kann sie durchaus erhöhen, man muss nur das richtige mittelmaß für sich finden. Die Standardeinstellung ist mir zumindest zu niedrig. |
![]() |
| PH |
#15 Geschrieben am: Sa 5.01.2008, 14:04 (+00:04)
|
|
AyomRank 7 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 1258 Mitglied seit: 29.08.2004 |
naja, muss denn die browser-seite nicht göffnet bleiben, damit sich das script mit header selbst aufrufen kann?
|
![]() |
| deetee |
#16 Geschrieben am: So 6.01.2008, 11:54 (+21:50)
|
|
AyomRank 4 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 80 Mitglied seit: 11.12.2004 |
Das kann ich nicht genau sagen, aber selbst wenn, wär das nicht unbedingt ein großes Problem. Die Timeouts werden ja nach dem header Aufruf immer zurückgesetzt. Man müsste das Browserfenster dann wieder schließen, entweder manuell oder per Code.
|
![]() |
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/22100
![]() |
![]() ![]() ![]() |
| Themen Titel | Autor | Views | Antworten | Letzte Aktion |
| Standalone Newsletter | rabattfuchser | 98 | 4 | Di 18.11.2008, 15:27 |
| Newsletter stand | sizar_amin | 110 | 5 | Mo 17.11.2008, 21:33 |
| Newsletter und Bestellung | jeliel | 41 | 0 | Mo 17.11.2008, 11:56 |
| Newsletter Software | TD Andi | 272 | 3 | Sa 13.09.2008, 21:45 |
| Einzigartiger Newsletter | Ramona_H | 270 | 7 | Do 4.09.2008, 11:43 |
| Newsletter marketing noch Effektiv ? | Nico B | 316 | 3 | So 10.08.2008, 15:48 |
| Hilfe bei Newsletter Versand / Plesk | Sascha Schmitz | 150 | 0 | Fr 1.08.2008, 07:44 |
| Adult Newsletter | retok | 155 | 0 | Di 8.07.2008, 22:22 |
| ping phpscript empfänger | Eric-Oliver Mächler | 154 | 3 | Di 1.07.2008, 18:52 |
| Suche Webmaster-Newsletter | XavierBlue | 188 | 1 | Di 1.07.2008, 14:01 |
Anzeige - [Hier werben / Mediadaten]




















