Hej, kan någon vara snäll o redigera min kod? då kan ja öka min timeout. ingen bra långsiktig lösning, men kör så länge du kan. Se till att du har en bra logg bara så du vet vad du kan göra om det "skiter sig" ja bytte till 5000 mail istället.Skicka nyhetsbrev till 1 i taget
Jag vill skicka mail till 10 000 första medlemmarna där flagga = 0.
Efter att första 10 000 mail är skickade så skall tabellen flagga bli = 1.
Ex, ja har 100 000 medlemmar.
' Hitta första 10 000 emailadresser från test där flagga = 0.
' Skicka mail till första 10 000 där flagga = 0
' Uppdatera första 10 000, ange flagga = 1
' Response.Write "mail skickad"
Efter att mailen skickas skall ja efter ca 30 min skicka vidare mailen.
När ja skickat alla skall jag uppdatera alla 100 000 medlemmarnas flagga till 0.
Tacksam för svar.
<code>
<%
Noll = "1"
Set Recset = Connect.Execute("Select email from test where flagga = '0' LIMIT 0,1000")
If Recset.EOF Then
Response.Write "Det finns inga medlemmar ännu!"
Else
Do Until Recset.EOF
Email = Recset("email")
Rubrik = Request.Form("rubrik")
Nyhetsbrev = Request.Form("nyhetsbrev")
Dim MyBody2
Dim MyCDONTSMail2
Set MyCDONTSMail2 = CreateObject("CDONTS.NewMail")
MyCDONTSMail2.From = "noreply@nogomi.com"
MyCDONTSMail2.BCC = "" & Email & ""
MyCDONTSMail2.Subject = "" & Rubrik & ""
MyBody2 = "" & Nyhetsbrev & "" & vbCrLf
MyCDONTSMail2.Body= MyBody
MyCDONTSMail2.Send
Set MyCDONTSMail2=Nothing
Recset.Movenext
Loop
End If
Connect.Execute("Update test Set flagga = '"& Noll &"' where flagga = '0'")
Response.Write "Mail skickad!"
Recset.Close
Set Recset = Nothing
End If %>
</code>Sv: Skicka nyhetsbrev till 1 i taget
<%
Noll = "1" ' < vad gör denna?
Set Recset = Connect.Execute("Select id, email from test where flagga = '0' LIMIT 0,1000")
If Recset.EOF Then
Response.Write "Det finns inga medlemmar ännu!"
Else
Do Until Recset.EOF
Email = Recset(1)
Rubrik = Request.Form("rubrik")
Nyhetsbrev = Request.Form("nyhetsbrev")
Dim MyBody2
Dim MyCDONTSMail2
Set MyCDONTSMail2 = CreateObject("CDONTS.NewMail")
MyCDONTSMail2.From = "noreply@nogomi.com"
MyCDONTSMail2.BCC = "" & Email & ""
MyCDONTSMail2.Subject = "" & Rubrik & ""
MyBody2 = "" & Nyhetsbrev & "" & vbCrLf
MyCDONTSMail2.Body= MyBody
MyCDONTSMail2.Send
Set MyCDONTSMail2=Nothing
memberid=RecSet(0)
Connect.Execute("Update test Set flagga = '1' where id=" & memberid)
Recset.Movenext
Loop
End If
Response.Write "Mail skickad!"
Recset.Close
Set Recset = Nothing
End If %>
Men att loopa genom 10.000 kommer antagligen fungera dåligt, pga timeout antar jag.
Sv:Skicka nyhetsbrev till 1 i taget
jag har en dedicerande server, eller vad säger du?Sv: Skicka nyhetsbrev till 1 i taget
Sv:Skicka nyhetsbrev till 1 i taget
10 000 var för mycket på en o samma gång.
Hur lång tid skall ja vänta mellan utskickningarna av 5000 mail?