insuMedlem sedan juli 200223 inlägg Problemet ligger i att jag har ca 2000 olika mejl adresser och jag får server time out... Här nere är koden, jag kör en vanlig loop, hur kan jag göra så att jag inte får server time out, eller hur kan jag skicka nyhetsbrev till alla lättast??? Tack i förhand!
<% If Request("Send") = "Yes" THEN %>
<%
DIM Connect, Rs, Sql
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open("DRIVER={Microsoft Access Driver (\*.mdb)}; DBQ=" & Server.MapPath("../../db/members.mdb"))
Sql = "SELECT \* FROM Login ORDER BY Namn"
Set Rs = Connect.Execute(Sql)
%>
<%
Do Until Rs.EOF
%>
<% IF NOT Rs("mail") = "" Then %>
<%
Dim Mail, text
text = Request.Form("text")
Mail = Rs("mail")
set objMail = CreateObject("CDONTS.Newmail")
objMail.From = "Mail@mail.com"
objMail.To = Mail
objMail.subject = "Nyhetsbrev"
objMail.body = text
objMail.send
set objMail = Nothing
%>
<% End If %>
<%
Rs.MoveNext
Loop
Rs.Close
Connect.Close
SET Connect = Nothing
SET Rs = Nothing
%\>
<%
Session("Mess") = "messen är skickad!"
Response.Redirect("admin_mail.asp")
%>
<% End If %>
LAMPMedlem sedan mars 2002777 inlägg Detta problemet har vit uppe femtielva gånger. Sök på tex "nyhetsbrev". ;)
Välkommen till wF förresten!
MharlinMedlem sedan juni 200277 inlägg Gå in i databasen och ändra timeout tiden till 0 eller till tiden som passar. Sätter du det till 0 kommer den aldrig ge en timeout...
LAMPMedlem sedan mars 2002777 inlägg Jag tror ej det är databasen som ger timeout utan VB-motorn. Du kan prova höja timeouttiden:
<% Server.ScriptTimeout = 3600 %>
Prova också att inte loopa hela initieringen av objectet, utan enbart objMail.to. Vill du att inte alla ska se alla adresserna så anger du dig själv som to och lägger in adresserna i objMail.bcc
icaaqMedlem sedan okt. 20005 273 inlägg
Mharlin skrev:
Gå in i databasen och ändra timeout tiden till 0 eller till tiden som passar. Sätter du det till 0 kommer den aldrig ge en timeout...
Det är väl inte databasen som säger emot utan servern som kör scriptet :OO
insuMedlem sedan juli 200223 inlägg
LAMP skrev:
Prova också att inte loopa hela initieringen av objectet, utan enbart objMail.to. Vill du att inte alla ska se alla adresserna så anger du dig själv som to och lägger in adresserna i objMail.bcc
Hur menar du ? Hur kan man loopa bara enbart objMail.to ? Jag förstår det med bcc, men hur loopar man bara to ?
LAMPMedlem sedan mars 2002777 inlägg Du flyttar din loop så att du bara loopar igenom din BCC:
set objMail = CreateObject("CDONTS.Newmail")
objMail.From = "Mail@mail.com"
objMail.To = "mail@mail.com"
objMail.subject = "Nyhetsbrev"
objMail.body = text
while not RS.EOF
objMail.bcc = RS("mail")
RS.movenext
wend
objMail.send
set objMail = Nothing
SPiNMedlem sedan mars 20007 896 inlägg while not RS.EOF
objMail.bcc = RS("mail")
RS.movenext
wend
Följande borde resultera i att objMail.bcc ändras varje gång loopen körs, och endast den sista i listan får brevet?
Det borde väl vara:
Dim str
str = ""
while not RS.EOF
str = str & ";" & RS("mail")
RS.movenext
wend
objMail.bcc = str
:q
LAMPMedlem sedan mars 2002777 inlägg Givetvis, det är nog dags för sängen nu innan jag får fler hjärnblödningar. :x
insuMedlem sedan juli 200223 inlägg
LAMP skrev:
while not RS.EOF
objMail.bcc = RS("mail")
RS.movenext
wend
Jag förstår nu, man kör alla e-mail adresser in på bcc, förresten kan man lägga hur många e-mail som helst i bcc ? Och måste man använda <% Server.ScriptTimeout = 3600 %> nu också ? Står 3600 för 3600 sekunder eller?
LAMPMedlem sedan mars 2002777 inlägg Ett ytterligare sätt om du har en dbms som stödjer subselects är att bygga ett script dynamiskt som skickar mailen gruppvis, låt oss säga 100 i taget. Men det är jag för trött att redogöra för nu.
Jo, 3600 är sekunder. Du kan sätta vilken siffra du vill där.
insuMedlem sedan juli 200223 inlägg
LAMP skrev:
Ett ytterligare sätt om du har en dbms som stödjer subselects är att bygga ett script dynamiskt som skickar mailen gruppvis, låt oss säga 100 i taget. Men det är jag för trött att redogöra för nu.
Jo, 3600 är sekunder. Du kan sätta vilken siffra du vill där.
Okay, jag förstår, men hur funkar det med subselects, låter väldigt intressant...