15. december 2006 - 10:21
Der er
21 kommentarer
For stor mailliste?
Jeg har lavet et script, der sender mails ud til en række brugere, men her på det sidste, er det ikke alle brugere, der har modtaget deres mails, der er 90 brugere ialt. Kan det være for mange at sende mails ud til på een gang, eller hvad kan evt. være problemet?
Annonceindlæg fra Conscia
15. december 2006 - 10:21
#1
Jeg har lavet et script, der sender mails ud til en række brugere, men her på det sidste, er det ikke alle brugere, der har modtaget deres mails, der er 90 brugere ialt. Kan det være for mange at sende mails ud til på een gang, eller hvad kan evt. være problemet?
15. december 2006 - 10:29
#2
sæt <% server.scripttimeout = 360 ' (6 minutter) %> eller endnu højere hvis det ikke er nok det er fordi tiden udløber for scriptet, inden den har sendt til alle.
15. december 2006 - 12:06
#3
Det lyder som en dejlig nem løsning, hvis det virker - hvor i min kode skal jeg skrive det?
15. december 2006 - 12:09
#4
Toppen af mit script ser sådan her ud: <% @ Language="VBScript" LCID=1030 %> <% Option Explicit %> <% response.buffer=true %> <% Response.CacheControl = "no-cache" %> <% Response.AddHeader "Pragma", "no-cache" %> <% Response.Expires = -1 %> Måske skal jeg bare sætte dit forslag ind umiddelbart efter?
15. december 2006 - 12:09
#5
i toppen af den side, som sørger for at sende mails
15. december 2006 - 12:10
#6
ja bare under det, det er fint
15. december 2006 - 12:12
#7
Kan det iøvrigt passe, at jeg allerede begynder at få bøvl ved 90 brugere?
15. december 2006 - 12:14
#8
det kommer helt an på hvordan dit mailscript fungerer
15. december 2006 - 12:33
#9
Min udbyder fortæller mig, at server.scripttimeout er fastsat på serveren til 2 minutter, så det hjælper mig ikke at prøve at forlænge den via asp.
15. december 2006 - 12:38
#10
Sådan her ser mit script ud: <% Dim CONN, DSN, SQL, RS, JMail, Msg Set CONN = Server.CreateObject("ADODB.CONNection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("../db/accounts.mdb") CONN.Open DSN SQL = "Select * from accounts" Set RS = CONN.Execute(SQL) dim Msg Msg = "hej" do while not RS.eof Set JMail = Server.CreateObject("JMail.SMTPMail") JMail.ContentType = "text/html" JMail.ServerAddress = "smtp.wannafind.dk" JMail.Sender = "sbp72@mail.dk" JMail.SenderName = "Test" JMail.Subject = "Overskrift" JMail.AddRecipient RS("Email") JMail.HTMLBody = Msg JMail.Priority = 3 JMail.Execute set JMail = nothing RS.MoveNext loop CONN.Close Set CONN = Nothing %>
15. december 2006 - 12:38
#11
jo det er netop det, den gør - man kan selv styre hvor længe, ved aktivt at sætte timeout. hvis man ikke sætter timeout til andet, bruger den automatisk serverens forudindstilling
15. december 2006 - 12:41
#12
Serverens indstilling på 2 minutter overruler min egen, forklarer min udbyder, så det kan være ligemeget hvad jeg skriver som server.scripttimeout i min kode.
15. december 2006 - 12:42
#13
Forstår du hvad jeg mener?
15. december 2006 - 12:42
#14
så er han ikke særlig klog,
15. december 2006 - 12:46
#15
du kan ændre dit script til: <% Dim CONN, DSN, SQL, RS, JMail, Msg Set CONN = Server.CreateObject("ADODB.CONNection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("../db/accounts.mdb") CONN.Open DSN SQL = "Select Email from accounts" Set RS = CONN.Execute(SQL) dim Msg Msg = "hej" Set JMail = Server.CreateObject("JMail.SMTPMail") JMail.ContentType = "text/html" JMail.ServerAddress = "smtp.wannafind.dk" JMail.Sender = "sbp72@mail.dk" JMail.SenderName = "Test" JMail.Subject = "Overskrift" do while not RS.eof JMail.AddRecipientBCC RS("Email") RS.MoveNext loop JMail.HTMLBody = Msg JMail.Priority = 2 JMail.Execute set JMail = nothing CONN.Close Set CONN = Nothing %>
15. december 2006 - 13:04
#16
Så du mener ikke, at udbyderen sætter nogen begrænsning på, hvor længe mit script kan køre? Er det ikke lidt risikabelt at køre et script i f.eks 10 minutter, hvis der skulle opstå en fejl undervejs eller whatever, så stopper processen vel? Gælder det ikke om at undgå, at scriptet behøver at køre ret længe ad gangen?
15. december 2006 - 13:05
#17
Min udbyder mener, at jeg enten skal sende til f.eks. 10 ad gangen eller tage en anden komponent (CDONTS) i brug - hvad mener du her?
15. december 2006 - 13:15
#18
der er ingen problemer i at den kører længe, hvis du er bange for invalide emailadresser, kan du skrive on error resume next i dit mailscript før løkken så fortsætter den, selvom der er en fejladresse
15. december 2006 - 13:45
#19
Ok, men du mener ikke, at udbyderen sætter nogen begrænsning på, hvor længe mit script kan køre? JMail.Priority = 2 ?
15. december 2006 - 15:54
#20
Jeg vil også gerne lige høre, hvad du mener om CDONTS? - så er vi ved at være der.
15. december 2006 - 19:02
#21
JMail.AddRecipientBCC ? - Du er lige nødt til at forklare, hvad det er du gør her med BCC?
Kurser inden for grundlæggende programmering