Avatar billede celal Nybegynder
02. juli 2004 - 11:24 Der er 11 kommentarer og
1 løsning

Fejlmeddelelse: Server.ScriptTimeOut

Jeg har en nyhedsmail funktion, som sender alle nyheder ud til ca. 1500 emails. Det er første gang jeg har prøvet at attache 500 KB fil med sendingen, men når den har sendt ca. 30 emails ud, så få jeg denne fejlmeddelelse:
"The maximum amount of time for a script to execute was exceeded. You can change this limit by specifying a new value for the property Server.ScriptTimeOut or by changing the value in the IIS administration tools. "

Er der nogen som kan fortælle mig hvordan jeg får får min kode til at sende til alle email adresserne uden at den stopper?
Hvordan bruger jeg Server.ScriptTimeOut i min kode? Det kommer til at tage ca. 30 min at sende ud til emails.

Min kode ser således ud:



sub mailAll

    SQL="select * from TblEmailListe"
    makeRS(SQL)
    dim antal
    antal =0
    'If Not rs = Nothing Then

        do while not rs.eof

            call sendMessage(rs("Email"))
            antal = antal + 1
            response.Write(rs("Email") & ": sendt! <br>")

            rs.Movenext
        loop

        Dim strSQL
        strSQL = "Insert into NyhedsBrevLog (NyhedsTitel, NyhedsText, UdsendtDato, mailCounter) values('" & request("Emne") & "', '" & message & "', '" & Now() & "', '" & antal & "')"
        cn.Execute(strSQL)



        'Skal skrive til log fil Antal, dato, nyhedstekst
        response.Write(" Slut <br> der er ialt blevet udsendt " & antal & " emails")
        rs.Close
    'End If

end sub




function sendMessage(strEmail)

    ' create email
    Set objNewMail = Server.CreateObject("CDONTS.NewMail")

    objNewMail.To = strEmail
    objNewMail.From = request("framail")
    objNewMail.Subject = request("Emne")
    objNewMail.Body = message

    if request("attach1") <> "" then

        objNewMail.Attachfile server.mappath(request("attach1"))

    end if

    ' send email
    objNewMail.Send
    Set objNewMail = Nothing
    'response.Write(strEmail & " sent <br>")

end function
Avatar billede fennec Nybegynder
02. juli 2004 - 11:27 #1
Sæt ScriptTimeOut op.

Server.ScriptTimeOut = AntalSek.
Avatar billede celal Nybegynder
02. juli 2004 - 11:28 #3
PS: under fejlmeddelelsen står der i øvrigt også : "Script timed out", hved ikke om det hjælper noget?
Avatar billede celal Nybegynder
02. juli 2004 - 11:29 #4
men hvordan får jeg den til at blive ved i 30 min?
Avatar billede celal Nybegynder
02. juli 2004 - 11:30 #5
Det skal lige siges at jeg ikke har adgang til at sætte egenskaberne på IIS serveren. Så det skal være en kode jeg lægger in på scriptet.
Avatar billede fennec Nybegynder
02. juli 2004 - 11:32 #6
Det er også ASP kode.
Server.ScriptTimeOut = 1800

Det kunne også være du skulle ændre på den måde du sender mail på.

Hvad med at tilføje alle brugere til mailen. Så behøver du kun sende en mail. Det burde sætte sende tiden ned til et par sek.
Avatar billede mm12010 Nybegynder
02. juli 2004 - 11:32 #7
Server.ScriptTimeOut = 1800

men ellers kunne du jo overveje at bruge JMail som har 'Recipients.Clear'-funktion så du ikke skal oprette objektet og vedhæfte filen hver gang:
http://www.dimac.net/Products/w3JMail/Version43/Reference/Recipients.htm

det kan selvfølgelig oz være at CDONTS har en lingende funktion, eller at der kan laves et workaround...
Avatar billede celal Nybegynder
02. juli 2004 - 11:55 #8
Tak for det, så køre det!! :o)
Avatar billede mm12010 Nybegynder
02. juli 2004 - 12:01 #9
fennec >> skal jeg lige lave en deler til os ?-) - du kom jo først...
Avatar billede fennec Nybegynder
02. juli 2004 - 12:13 #10
Det må du da gerne :o)
Avatar billede mm12010 Nybegynder
02. juli 2004 - 12:16 #11
Avatar billede kimlarsen1978 Nybegynder
09. juli 2004 - 16:23 #12
Hej celal:
- hvordan brugte du 'Recipients.Clear'?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester