Email senden (um schnelle Hilfe)zu viele Mails
-
ach da oben stand nur quark (von mir)
formatier erstmal deinen querystr sauber
-
wie kann ich das machen?
ohne das ich in phpmyadmin mich einlooge?
Geht das?
-
Hallo,
er schickt nicht endloc viele Mails. Er schickt soviele wie es Datensätze in der Tabelle `login` gibt. Jeder Schleifendurchlauf arbeitet einen Datensatz ab. Bei 10 Schleifendurchläufen, gibt es also 10 Datensätze und ebenso 10 EMails. Viele Datensätze sind in deiner Tabelle?
VlG
-
ich weiß ich weiß.... das er nach meinen Datensätzen schaut, was nur komisch ist ich hab doch alles gelöscht!
mysql_query("DELETE FROM `login`");
damit muss er doch alles gelöscht haben? oder
-
Jupp!
Du hast doch echo($row[0]) im Code stehen! Was gibt er denn aus?
VlG
-
nichts leere Seite!
-
Nichts? Dann werden auch keine Mails gesendet! Wenn keine Datensätze in der Tabelle sind, wird die Schleife übersprungen und somit werden auch keine EMails gesendet. Weiß Gott wo die EMails bei dir herkommen :p
-
doch es wird was gesendet da ich $empgänger = "meineaddy@live.de eingetragen habe!
also er sollte gar nicht auf meine Datenbank zugreifen deswegen hab ich meine addy eingetragen (nicht in die Datenbank eingetragen)
-
Ok, nochmal langsam! Du sagst du hast NULL (0) Datensätze in der Tabelle. Sie ist also gänzlich leer?! Sollte dem so sein, so wird folgender Teil:
while($row = mysql_fetch_array($result)) { // .... dein code .... }
komplett übersprungen und gar nicht abgearbeitet. Dementsprechend werden auch keine Mails gesendet!
Mach mal:
$result = mysql_query("SELECT * FROM login"); print mysql_num_rows($result);
Und teile uns dann mit was angezeigt wird.
-
Komisch
1. Wenn ich alle Datensätze gelöscht habe
2. Wenn ich die Datei auch gelöscht habe
sollte doch nichts passieren
3. Er senden trotzdem noch und die mails landen im Spam Ordner.... und die mails kommen immer in minuten takten... so etwa 20 mails mehr nicht
würde auch sowas gehen?while(res)){
if(!mail($data['email'], $betreff, absender"))
echo "Mail konnte nicht an {data['email']} gesendet werden"; } mysql\_free\_result(res);
-
Das ist doch genau das gleiche was du schon hast
Kann es sein, dass die EMails aus früheren Versuchen sind und jetzt erst ankommen?
-
0 ist das Ergebnis
$result = mysql_query("SELECT * FROM login"); print mysql_num_rows($result);
-
hmmz schrieb:
Das ist doch genau das gleiche was du schon hast
Kann es sein, dass die EMails aus früheren Versuchen sind und jetzt erst ankommen?
ich vermute ja!
und evtl. gabs da noch Datensätze.. 100% weiß ich es nicht mehr!am Browser kann es nicht liegen? Chrome? oder was heißt cronejob?
-
kann man es irgendwie stoppen?
ich bekomme fast jede Minute immer 5 Mails :S
-
Wenn 0 das Ergebnis ist, dann kommen die EMails definitiv nicht aus diesem Code. Was die Ursache für den Massenversand ist, weißt nur du.
Mach mal langsam
Grundsätzlich sind Chrome und CronJob('s) zwei Grund verschiedene Dinge.
Chrome ist ein Browser. CronJobs sind sind eine Art "geplante Aufgaben" (Tasks). also ToDo's die meist in immer wiederkehrenden Zeitabständen ausgeführt werden (sollen). Cronjobs benutzt man also wenn man möchte das etwas bestimmtes (ein CGI- / PHP- / Perl- Script, oder auch eine Anwendung) in regelmäßigen Abständen und|oder an bestimmten Zeitpunkten ausgeführt werden soll.
-
chrome i know
cronejob noch nie gehört bzw ka wie man das einrichtet...ich habe jeglich nur diesen code benutz, mehr nicht!
$empfaenger ="kollege@live.de"; $absender = "absender@absender.de"; $betreff = "Test Mail"; $text = "hie mein Text"; if (!mail($empfaenger, $betreff, $text,"from:$absender")) print "Mail an " . $empfaenger . " konnte nicht gesendet werden!>"; echo ($row[0]."<br>"); } <br> mysql_free_result($result)
seitdem ich das ausgeführt habe, sendet er mir pausenlos die mails...
ich wollte einen Arbeitskollegen was zeigen...
bzw von seiner adresse an seiner adresse eine email senden, jetzt bekommt er die mails jede minute 5 mal etwa... und kein plan wieso! zum glück im junk ordner
-
wie kann es den sein, dass er mir immer noch welche sendet? :S
-
Theorie 1: Dein Kollege verarscht dich.
Theorie 2: Du hast irgendwelche ganz skurrilen Dinge eingestellt/getan, die aus dem hier gezeigten Quellcode nicht ersichtlich sind.Ich fürchte, in beiden Fällen wird dir hier niemand helfen können.
-
zu
Theorie 1: Sie verarscht mich nicht!
Theorie 2: Wie soll ich etwas einstellen wenn ICH NUR den zu sehenden Code durchgeführt habe?mittlerweile kommen die mails in langen Abständen!!! Davor war es etwa jede Minute ..
-
Hallo,
dann stell ich mal Theorie 3 in den Raum: Du verarschst uns :p
Einzige Möglichkeit die besteht ist, dass deine Tabelle rand voll mit Datensätzen war und du in dem Moment - als sie noch voll war - das Script getestet hast. Wenn du mich fragst, im Kreise von Programmierern eine Totsünde. Niemals führt man Scripte zu Testzwecken mit Livedaten aus. Du hättest - und tust es wahrscheinlich in Zukunft - darauf achten müssen, dass die Daten die du ins www schickst im Rahmen bleiben. Gerade beim Versand von EMails sollte man auf sowas achten. Ich gehe mal davon aus, dass du beim Provider deiner Kollegin mittlerweile auf der Blacklist für den EMail-Empfang stehst...
Beim nächsten mal beschäftige einfach etwas mehr mit dem was du tust und kopier nicht einfach blind die Codebeispiele! Wichtig ist, zu verstehen was man macht.
Du kannst den EMail-Versand stoppen in dem du deinem Mailserver (sofern du einen hast) sagst, dass er alle ausstehenden Nachrichten verwerfen soll. Bei Fremdanbieter-Mailservern geht das nicht! Da kannst du nur hoffen dass es bald zu Ende ist.
VlG