WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » 8000 Newsletter mit PHPMailer verschicken!? » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

8000 Newsletter mit PHPMailer verschicken!?
von raiserle
mal kurz so hingewurschtelt.... wegen ner abbruchbedingung
kannst natürlich auch mit
mysql_num_rows(); einmal zählen... is mir aber erst eben eingefallen
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22:
<?php
if($_GET)
    $start=$_GET['startwert']+100;
else
    $start=0;    

$i=0;
$sql = "SELECT * FROM tabelle LIMIT ".$start.",100";
$result = mysql_query($sql) or die(mysql_error());
while ($row = mysql_fetch_array($result))
{
# Verschicke hier die eMails
    $i++;
}
  
if($i<100){
    exit();
}          
header("location:senden.php?startwert=".$start);
?>
von flotschi1981
Kann man das auch so machen und würde dies was bringen/helfen?

$sql = "SELECT * FROM tabelle LIMIT ".$_GET[startwert].",100";
$result = mysql_query($sql) or die(mysql_error());
while ($row = mysql_fetch_array($result))
{
# Verschicke hier die eMails
}
header("location:senden.php?startwert=".$_GET[startwert]+100);

Liebe Grüße

Florian
von schmchris
Maxx schrieb am 04.02.2006 17:49
- ließt die naesten 500 Emails aus der Datenbank (LIMIT 500, 1000)


Würde dann aber (LIMIT 500, 500) sein !
von languitar
Entweede du hoffst einfach auf einen neuen Besucher, oder lässt die Seite sich selbst per JavaScript wieder aufrufen, bis alles abgearbeitet ist.

Aber die Mailingliste hier bei Suleitecm üsste auch wirklich funktionieren, da sie, wie gesagt, meiner Meinung nach über Dateien gesteuert wird, und die kannst du ja auch per PHP schreiben lassen.
von flotschi1981
Hallo,

ok das hab ich schon gecheckt! Aber wie rufe ich denn die Seite nochmals von neuem auf?????

Kannst du mir bitte ein Beispiel geben?!

Danke!
von Maxx
hab ich doch oben schon erklaert wie das funktioniert, musst lediglich ein LIMIT bei dem mySQL-query setzen, welches du mit einem Zaehler erhoehst.
von flotschi1981
Hallo,

Danke für die Antworten! Ich verschicke personalisierte Emails und diese Daten werden aus meiner DB geholt! Darum kann ich nicht per bcc schicken oder über irgendwelche Maillinglisten!

Ich möchte es so machen, dass einfach immer 100Emails rausgehen und dann das Script nochmals gestartet wird und mit den nächsten 100 weitermacht. Leider habe ich noch keine Ahnung wie das funktionieren soll! Werde mal bißchen googlen!

Oder könnt ihr mir ein Code-Beispiel geben?

Danke

Flo
von NetDrag
generell ist es kein problem wenn du das mail an dich richtest und alle adressen in den bcc schreibst. dann wird die mail als einziger job an den mailserver gerichtet. das beschleunigt das ganze extrem, und dein skript läuft nciht in den timeout.

Es gibt aber folgendes zu bedenken: Hat dein Provider ein limit für bcc duch die mail funktion? Einige provider richten das ein um den mißbrauch von formularen als spam plattform zu verhindern. Außerdem hat der mailserver selbst meißt ein limit.

Also besser das mailinglisten programm des providers verwenden.

sonst gibts mit Maillist Controller ein billiges einfach zu verwendendes tool
von languitar
Ansonsten kannst du das evtl. auch über die Mailingliste von suleitec Regeln. So weit ich das in Erinnerung hab wird die nur mit Dateien gesteuert? Die könntest du dann ja mit PHP anlegen lassen. Das würde die Serverbetreiber wohl am ehesten noch freuen.
von Maxx
So meinte ich das nicht.
Mein Gedanke waere so gewesen:

- du ließt dir von deinen 8.000 Email die ersten 500 heraus (LIMIT 0, 500)
- sendest an die ersten 500 Adressen deine Email
- setzt einen Zaehler nach oben
- ließt die naesten 500 Emails aus der Datenbank (LIMIT 500, 1000)
- schreibt den wieder die Email etc

das Script praktisch automatisch immer wieder aufrufen lassen.
Den Zaehler kann man beispielsweiße in einer .txt zwischenspeichern, oder an eine andere
.php Datei uebergeben, die dann damit wieder die erste aufruft.
(Wenn man das ganze nur in einer Schleife erledigen laesst, kommt es dennoch zu viel zu langen Ladezeiten und einer hohen Ressourcenverschwendung, vondaher 2 Datein die sich im Wechsel aufrufen.)
Ich weiß nicht ob es die beste Loesung fuer das Problem ist, aber so wuerde ich das umsetzen.
von flotschi1981
Danke für die Antwort!

Die Emails liegen in einer MySQL-DB! Wie meinst du trennen und wieder weitermachen? Ich möchte schon das der User die 8000 Emails auf einmal verschicken kann sonst muss er ja nach 1000 Emails wieder an den PC und wieder neustarten etc...

Kannst du mir das genauer erklären?

von Maxx
Ich wuerde je nach dem, wie du die Emails aufbewarst, trennen, und dann das Script mit dem naesten Teil weitermachen lassen.
Das spart erstmal Server-Ressourcen, und es ist nicht so anfaellig gegen Abstuerzen des Servers oder des Browsers.
von flotschi1981
Hallo,

ich habe bei SuLeiTec meine Internetseite! Nun habe ich mir ein Newsletterscript geschrieben um an ca. 8000 Emails einen Newsletter zu senden!

Ist sowas ohne Probleme möglich? Kann es da zu Schwierigkeiten kommen? Was passiert wenn der Server abbricht? Kann man sowas umgehen oder irgendwie an dieser Stelle fortsetzen?

Ich würde mich auf ein paar Erfahrungen freuen!

Vielen Dank

Flo

Nach oben