Avatar billede cdc Novice
25. november 2003 - 14:11 Der er 8 kommentarer og
1 løsning

asp og jmail problemer

Har et nyhedsbrev modul hos en kunde, lavet i asp, med send funktionen i jmail fra en acces database.
Kan det have sin riktighed at en server ikke kan "æde" 1000 emails.

Ikke alle brugerne modtager ikke mails, dvs mange modtager en tom mail, nogle modtager det som det skal være, og nogle modtager det ikke. Det er fakrisk flere der ikke modtager det end omvendt.

når man klikker send skal der komme en side når det er færdig med at nyhedsbrev er sebdt, dette kommer ikke op, men en inter server 500 fejl....?

Har rodet med dette i to dage nu, og har smidt en lille DB op og så er der intet problem..

/cdc
Avatar billede keysersoze Ekspert
25. november 2003 - 14:15 #1
funktioner -> internetindstillinger -> avanceret -> fjern kryds i "vis meddelelse om uskadelige http-fejl"

på den måde kan du få en reel fejlmeddelelse.

De primære fejl der sker med nyhedsbreve er, at enten scriptet kører ud (timeout) eller at man glemmer at nulstille jmail-initialiseringen med tilpas interval (min. hver 20. gang)... men ellers burde der ikke være problemer ved 1000 mails
Avatar billede cdc Novice
25. november 2003 - 14:24 #2
den ser således ud:

<%
                antalmail = 0
               
                set msg = Server.CreateOBject( "JMail.Message" )   
                msg.ContentType  = "text/html"
                msg.Logging = true
                msg.silent = true
                msg.From = "emailadresse"
                msg.FromName = "kundenavn"
                msg.Subject = "Nyhedsbrev"

        set Conn = Server.CreateObject("ADODB.Connection")
        Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("kundekartotek.mdb")
       
        set objRs = Conn.Execute("Select Distinct [E-post-adresse], Fornavn From Adresseliste Where [E-post-adresse] IS NOT NULL")
        If Not objRs.eof Then
            Do While Not objRs.eof

                strEmail = objRs("E-post-adresse")
                strBody = Request.Form("body")
                strbody = Replace(strbody, "[BRUGERNAVN]", objRs("Fornavn"))
                set msg = Server.CreateOBject( "JMail.Message" )   
                msg.ContentType  = "text/html"
                msg.Logging = true
                msg.silent = true
                msg.From = "emailadresse"
                msg.FromName = "kundenavn"
                msg.Subject = "Nyhedsbrev"
                msg.AddRecipient strEmail
                msg.Body = strbody
                If Not msg.Send("mail.domain.com") Then
               
                End If
                set msg = nothing
                strbody = ""
                strEmail = ""
               
                antalmail = antalmail+1
                objRs.MoveNext
            Loop
        End If
       
        objRs.Close
        set objRs = Nothing
       
        Conn.Close
Avatar billede cdc Novice
25. november 2003 - 14:25 #3
hvordan kan man sikkre at det ikke timer out
Avatar billede cdc Novice
25. november 2003 - 14:29 #4
kommer på igen efter kl. 17:00
Avatar billede keysersoze Ekspert
25. november 2003 - 14:54 #5
server.scripttimeout = 5000

sæt det ind i toppen
Avatar billede cdc Novice
25. november 2003 - 15:28 #6
og hvad med denne:

eller at man glemmer at nulstille jmail-initialiseringen med tilpas interval (min. hver 20. gang)...
Avatar billede cdc Novice
25. november 2003 - 19:04 #7
keysersoze--> kender du til hvordan man laver det med min. 20 af gangen
Avatar billede keysersoze Ekspert
25. november 2003 - 19:13 #8
Set JMail          = Server.CreateObject("JMail.SMTPMail")
    JMail.ContentType     = "text/html"
    JMail.ServerAddress = "XXX.XXX.dk"
    JMail.Sender        = "XXX@XXX.dk"
    JMail.Subject      = OVERSKRIFT
    JMail.Priority      = 3
    JMail.AddHeader    "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
    counter = 1
    Do while not rs.eof
    JMail.ClearRecipients()
    JMail.AddRecipient  rs("email")
    JMail.Body             = MAILINDHOLD
    JMail.Execute
    if counter = 20 then
        JMail.Close
        counter = 0
    end if
    counter = counter + 1
    rs.movenext
    loop
    Set JMail             = Nothing
Avatar billede cdc Novice
25. november 2003 - 19:20 #9
ok :o) siger tak
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