Avatar billede bobbedude Nybegynder
02. maj 2002 - 08:00 Der er 64 kommentarer og
1 løsning

sende 4000 mail's med ASP email

ja du læste rigtig jeg er udefor at skulle sende 4000 mails af sted:
I øjeblikket har jeg dette script:


<%
response.buffer = true
Server.ScriptTimeout = 1000000

if request("testmail") = "Nej" then

        ConnectStr = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" &server.mappath("subs.mdb")
        Set rs = Server.CreateObject("adodb.recordset")
        rs.Open "emails", ConnectStr, 2, 3
    on error resume next
        While not rs.EOF
          strHost = "post.tele.dk"
          Set Mail = Server.CreateObject("Persits.MailSender")
          Mail.Host = strHost
          Mail.From = "min-email@klummer.dk"
          Mail.Charset = "ISO-8859-1"
          Mail.AddAddress rs("emails")
          Mail.Subject = Mail.EncodeHeader(Request("Subject"))
          Mail.Body = Request("comm")
      Mail.Send
          rs.MoveNext
          Wend
      If Err <> 0 Then ' error occurred
          strErr = Err.Description
          response.write "<script>alert('Mail er sendt - Check email for fejl!');"
          response.write "location.href='send.asp'</script>"
      else
        response.write "<script>alert('Mail er sendt!');"
          response.write "location.href='send.asp'</script>"
          response.end
    End If
    rs.close

end if
%>


det er egentlig også ret godt da det checker om der er fejl i emailen og hvis der er går den videre til næste.

men det uheldige er at jeg sidder bag en firewall der har en lav time out, og jeg ved at jeg ikke når at sende alle mails før den timer ud.

Så hvordan laver jeg scriptet så den tager 100 mails af gangen og sender dem og derefter reloader siden og sender videre, og når disse 100 er sendt sætter den feltet "ersendt" i databasen til ja. ??
Avatar billede eagleeye Praktikant
02. maj 2002 - 09:00 #1
Dette er et eks hvor man bruger en tæller som tæller op til 100 er send tjekker om der er flere der skal sendes også loades siden igen med id=xxx, hvor xxx er så langt den nåede i databasen. Det forudsætter du har et autonummer felt i tabellen. Den benytter så ikke en kolonne "ersendt", men du kan prøve at kikke på det:

Tilføj tælleren omkring while:

EmailSend=0
While (not rs.EOF) AND (EmailSend < 100)
  EmailSend = EmailSend + 1
  strHost = "post.tele.dk"


----


Eftet dein if om der er fejl:

End If

if (NOT rs.EOF) AND (EmailSend < 100) then
  'hvis du har et autonummer felt i tabellen kan det indsættes i linket
  response.redirect("fil.asp?id=rs("id"))
end if


--------


I staren af koden skal du så hendte id

Set rs = Server.CreateObject("adodb.recordset")
idStart = request("id")
if idStart = "" then
  idStart = 0
end if
strSQL = "SELECT * FROM emails WHERE id > " & idStart & " ORDER BY ID ASC"
rs.Open strSQL, ConnectStr, 2, 3


..Hvis du ikke har et autonummer felt i emails tabellen så skrive lige igen.

Du skal nok prøve at lave nogle test for at se om alle får en mail smat ingen får 2 mail. Lige umiddelbart tror jeg at alle får en mail :)
Avatar billede bobbedude Nybegynder
02. maj 2002 - 09:03 #2
jeg har auto nummer ID.
hvordan lave man egentlig en test af dette ?? :ø)
Avatar billede eagleeye Praktikant
02. maj 2002 - 09:09 #3
Ja det var jo et godt spørgsmål....

Har du mulighed for at skrive til en tekst-fil på serveren? Så kan du evt åbne og logge hvilken ID og email adresse der er blevet set til. Samt ukommentere det kode som sender mailen, så ingen mail bliver send ved testen. Eller lav en ny tabel  databasen og så indsæt i den nye tabel hvilken detr sendes til (ID,email) på samme måde som med tekst filen.

du kan prøve at kopier databasen og så havde 55 records eller sådan noget... Sæt antal pr gang ned til 10.
Avatar billede bobbedude Nybegynder
02. maj 2002 - 09:12 #4
response.redirect("fil.asp?id=rs("id"))

Mangler der ikke noget her ??
Avatar billede bobbedude Nybegynder
02. maj 2002 - 09:20 #5
Hvad er det lige der er galt her:

Microsoft VBScript compilation error '800a03ee'

Expected ')'

/mail-sender/ghostmailer.asp, line 44

response.redirect ("ghostmailer.asp?id=rs("id"))
-------------------------------------------^
Avatar billede cape Nybegynder
02. maj 2002 - 09:22 #6
response.redirect ("ghostmailer.asp?id=" & rs("id"))
Avatar billede bobbedude Nybegynder
02. maj 2002 - 09:25 #7
ADODB.Recordset error '800a0bb9'

Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

/mail-sender/ghostmailer.asp, line 8


hvad sker der her +
Avatar billede eagleeye Praktikant
02. maj 2002 - 09:26 #8
Ja fil skal ændre til det filnavn du har på den fil der sende mail:

response.redirect ("ghostmailer.asp?id=" & rs("id"))
Avatar billede bobbedude Nybegynder
02. maj 2002 - 09:26 #9
Her er scriptet lige igen:

<%
Set rs = Server.CreateObject("adodb.recordset")
idStart = request("id")
if idStart = "" then
  idStart = 0
end if
strSQL = "SELECT * FROM emails WHERE id > " & idStart & " ORDER BY ID ASC"
rs.Open strSQL, ConnectStr, 2, 3



if request("testmail") = "Nej" then

        ConnectStr = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" &server.mappath("subs.mdb")
        Set rs = Server.CreateObject("adodb.recordset")
        rs.Open "emails", ConnectStr, 2, 3
    on error resume next
        EmailSend=0
        While (not rs.EOF) AND (EmailSend < 100)
        EmailSend = EmailSend + 1
        strHost = "post.tele.dk"

          Set Mail = Server.CreateObject("Persits.MailSender")
          Mail.Host = strHost
          Mail.From = "min-email@klummer.dk"
          Mail.Charset = "ISO-8859-1"
          Mail.AddAddress rs("emails")
          Mail.Subject = Mail.EncodeHeader(Request("Subject"))
          Mail.Body = Request("comm")
      Mail.Send
          rs.MoveNext
          Wend
      If Err <> 0 Then ' error occurred
          strErr = Err.Description
          response.write "<script>alert('Mail er sendt - Check email for fejl!');"
          response.write "location.href='send.asp'</script>"
      else
        response.write "<script>alert('Mail er sendt!');"
          response.write "location.href='send.asp'</script>"
          response.end
    End If
   
    if (NOT rs.EOF) AND (EmailSend < 100) then
    response.redirect ("ghostmailer.asp?id=" & rs("id"))
    end if

    rs.close

end if
%>
Avatar billede cape Nybegynder
02. maj 2002 - 09:26 #10
hvad er line 8 ?
Avatar billede bobbedude Nybegynder
02. maj 2002 - 09:28 #11
i toppen af siden fik jeg ikke åbnet databasen UPS...
Avatar billede eagleeye Praktikant
02. maj 2002 - 09:30 #12
connection str skal satdif med:

ConnectStr = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" &server.mappath("subs.mdb")

sættes i lige før eller efter denne:
Set rs = Server.CreateObject("adodb.recordset")
Avatar billede bobbedude Nybegynder
02. maj 2002 - 09:35 #13
det kører ikke rigtig, jeg har iøjeblikket 2 email i databasen skal bare lige tester den. men når jeg klikker send så ser det ud som om den sender men der kommer aldrig nogen mails til mig.


<%
ConnectStr = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" &server.mappath("subs.mdb")
Set rs = Server.CreateObject("adodb.recordset")
idStart = request("id")
if idStart = "" then
  idStart = 0
end if
strSQL = "SELECT * FROM emails WHERE id > " & idStart & " ORDER BY ID ASC"
rs.Open strSQL, ConnectStr, 2, 3



if request("testmail") = "Nej" then

        Set rs = Server.CreateObject("adodb.recordset")
        rs.Open "emails", ConnectStr, 2, 3
    on error resume next
        EmailSend=0
        While (not rs.EOF) AND (EmailSend < 100)
        EmailSend = EmailSend + 1
        strHost = "post.tele.dk"

          Set Mail = Server.CreateObject("Persits.MailSender")
          Mail.Host = strHost
          Mail.From = "min-email@klummer.dk"
          Mail.Charset = "ISO-8859-1"
          Mail.AddAddress rs("emails")
          Mail.Subject = Mail.EncodeHeader(Request("Subject"))
          Mail.Body = Request("comm")
      Mail.Send
          rs.MoveNext
          Wend
    If Err <> 0 Then ' error occurred
    strErr = Err.Description
    response.write "<script>alert('Mail er sendt - Check email for fejl!');"
    response.write "location.href='ghostmailer.asp'</script>"
    else
    response.write "<script>alert('Mail er sendt!');"
    response.write "location.href='ghostmailer.asp'</script>"
    response.end
    End If
   
    if (NOT rs.EOF) AND (EmailSend < 100) then
    response.redirect ("ghostmailer.asp?id=" & rs("id"))
    end if

    rs.close

end if
%>
<HTML>
<HEAD>
<style>
a
{
color:#FFFFFF;text-decoration:none;
}

a:hover
{
color:#FFFFFF;text-decoration:underline;
}

td
{
font-size:12px;font-family:Arial,Verdana;
}


.inputSubmit
{
font-size:7pt;
color:white;
background-color: black;
BORDER-BOTTOM: 1px solid;
BORDER-LEFT: 1px solid;
BORDER-RIGHT: 1px solid;
BORDER-TOP: 1px solid;
z-index:10;
}

.inputBut
{
font-family:Arial,Verdana;
font-size:10pt;
background-color: white;
BORDER-BOTTOM: 1px solid;
BORDER-LEFT: 1px solid;
BORDER-RIGHT: 1px solid;
BORDER-TOP: 1px solid;
z-index:10;
}

</style>

<%
Session.LCID = 1030

%>
    <html>
    <head>

    <title>Mail nyheder</title>
    </head>
   
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" link="#FFFFFF" vlink="#FFFFFF" alink="#FFFFFF">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%" align="center">
  <tr>
    <td valign="middle" align="center">
      <table width="770" border="0" cellspacing="0" cellpadding="0" height="436">
        <tr>
          <td width="612" valign="top">
            <table width="617" border="0" cellspacing="0" cellpadding="0" height="400">
              <tr>
                <td valign="top" class="Over_lillehvidCopy">
                  <form action="ghostmailer.asp?action=send" method="post">
                    <br>
                    <br>
                    <table border="0" cellspacing="0" cellpadding="0">
                      <tr>
                        <td valign="top"><b>Emne:</b></td>
                        <td>
                          <input class="inputBut" type="text" name="subject" size=50>
                        </td>
                      </tr>
                      <tr>
                        <td valign="top"><b>Besked:</b></td>
                        <td>
                          <textarea class="inputBut" cols=52 rows=15 name="comm"></textarea>
                        </td>
                      </tr>
                      <tr>
                        <td>&nbsp;</td>
                        <td>&nbsp;</td>
                      </tr>
                      <tr>
                        <td>
                          <input type=submit class="inputSubmit" name=submit value="Send nyhedsbrev">
                        </td>
                        <td class="Over_hvidLilleFed">&nbsp;&nbsp;send test mail
                          <select name="testmail" class="inputBut">
                            <option selected>Ja</option>
                            <option>Nej</option>
                          </select>
                        </td>
                      </tr>
                    </table>
                  </form>
                  <p><font face="Arial, Helvetica, sans-serif" size="2">Bruger
                    ialt:
                    <%
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("subs.mdb")
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN
strSQL = "SELECT COUNT(ID) AS Antal FROM emails"
Set rs = myConn.Execute(strSQL)
%>
                    <%=rs("antal")%></font></p>
                </td>
              </tr>
            </table>
          </td>
        </tr>
      </table>
    </td>
    </tr>
    </table>
    </body>
    </html>
Avatar billede eagleeye Praktikant
02. maj 2002 - 09:38 #14
og Testmail er sat til "nej" ?? du har en if-sætning inden den sender mails:

if request("testmail") = "Nej" then
Avatar billede eagleeye Praktikant
02. maj 2002 - 09:39 #15
Du skal slette to linier:

if request("testmail") = "Nej" then

  Set rs = Server.CreateObject("adodb.recordset") '<--slet det har du før
  rs.Open "emails", ConnectStr, 2, 3    '<--- slet for ikke at overskrive det recordset du har åbnet lige før.
Avatar billede bobbedude Nybegynder
02. maj 2002 - 09:47 #16
jeg har sat min egen mail ind i databasen 1000 gange men når jeg sender skulle den så ikke reloade med id i urlen ??

det gør den ikke den står bare i ca 1 minut ok så springer javaen frem og siger mailen er sendt, med der kommer ingen mail ??

check selv her http://www.rc-internet.com/mail-sender/ghostmailer.asp
Avatar billede eagleeye Praktikant
02. maj 2002 - 09:49 #17
Hvis du ikke har slettet denne inier inde i while loopet:
  rs.Open "emails", ConnectStr, 2, 3

så vil den sende på den gamle måde altså alle på en gang.
Avatar billede bobbedude Nybegynder
02. maj 2002 - 09:50 #18
<%
ConnectStr = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" &server.mappath("subs.mdb")
Set rs = Server.CreateObject("adodb.recordset")
idStart = request("id")
if idStart = "" then
  idStart = 0
end if
strSQL = "SELECT * FROM emails WHERE id > " & idStart & " ORDER BY ID ASC"
rs.Open strSQL, ConnectStr, 2, 3



if request("testmail") = "Nej" then

    on error resume next
        EmailSend=0
        While (not rs.EOF) AND (EmailSend < 100)
        EmailSend = EmailSend + 1
        strHost = "post.tele.dk"

          Set Mail = Server.CreateObject("Persits.MailSender")
          Mail.Host = strHost
          Mail.From = "min-email@mail.dk"
          Mail.Charset = "ISO-8859-1"
          Mail.AddAddress rs("emails")
          Mail.Subject = Mail.EncodeHeader(Request("Subject"))
          Mail.Body = Request("comm")
      Mail.Send
          rs.MoveNext
          Wend
    If Err <> 0 Then ' error occurred
    strErr = Err.Description
    response.write "<script>alert('Mail er sendt - Check email for fejl!');"
    response.write "location.href='ghostmailer.asp'</script>"
    else
    response.write "<script>alert('Mail er sendt!');"
    response.write "location.href='ghostmailer.asp'</script>"
    response.end
    End If
   
    if (NOT rs.EOF) AND (EmailSend < 100) then
    response.redirect ("ghostmailer.asp?testmail=Nej&id=" & rs("id"))
    end if

    rs.close

end if
%>
Avatar billede bobbedude Nybegynder
02. maj 2002 - 09:51 #19
arrg deler lige scriptet i 2 dele øjeblik
Avatar billede bobbedude Nybegynder
02. maj 2002 - 09:54 #20
nej det behøves jeg da ikke eller hvad ?
Avatar billede eagleeye Praktikant
02. maj 2002 - 09:54 #21
how den sidste if skal rettes til = .:

    if (NOT rs.EOF) AND (EmailSend = 100) then
    response.redirect ("ghostmailer.asp?testmail=Nej&id=" & rs("id"))
    end if
Avatar billede bobbedude Nybegynder
02. maj 2002 - 09:57 #22
Hmm den sender stadig på samme måde som før alle på en gang, den reloader ikke.
Avatar billede eagleeye Praktikant
02. maj 2002 - 09:57 #23
Disse  Request("comm"), skal jo føres med hvorgang siden loades igen eller går det jo tabt i de sidste mail.
Avatar billede eagleeye Praktikant
02. maj 2002 - 10:00 #24
Det forstår jeg ikke helt While køre normalt så længe betingelsen er true,
Prøv at sætte CInt omkring emailsend:

EmailSend  =0
While (not rs.EOF) AND (CInt(EmailSend) < 100)
  CInt(EmailSend) = CInt(EmailSend) + 1
Avatar billede eagleeye Praktikant
02. maj 2002 - 10:00 #25
og i if sætningen:

if (NOT rs.EOF) AND (CInt(EmailSend) = 100) then
Avatar billede bobbedude Nybegynder
02. maj 2002 - 10:07 #26
det giver det samme den sender alle på en gang
Avatar billede eagleeye Praktikant
02. maj 2002 - 10:11 #27
Prøv at lave while om til do while:

Do While (not rs.EOF) AND (CInt(EmailSend) < 100)


og Wend til:
Loop
Avatar billede eagleeye Praktikant
02. maj 2002 - 10:13 #28
Får du alle mails eller de 100 første ?
Avatar billede bobbedude Nybegynder
02. maj 2002 - 10:14 #29
min indbakke flipper helt dt vælter ind med mail jeg har modtaget ca 700 nu *lol*
Avatar billede eagleeye Praktikant
02. maj 2002 - 10:16 #30
men siden relaoder ikke?
Prøv og sæt () omkring hele testen i do while:

Do While ((not rs.EOF) AND (CInt(EmailSend) < 100))
Avatar billede bobbedude Nybegynder
02. maj 2002 - 10:21 #31
det er stadig det samme alle mail's flyver afsted på samme tid.
Avatar billede eagleeye Praktikant
02. maj 2002 - 10:24 #32
Prøv lige for sjov at ændre:
EmailSend  =0
til 101:

EmailSend  =101
Do While (not rs.EOF) AND (CInt(EmailSend) < 100)


Så skulle den ikke sende nogle emails...
Avatar billede bobbedude Nybegynder
02. maj 2002 - 10:32 #33
jeg prøver om lidt der vælter stadig mail's ind
Avatar billede eagleeye Praktikant
02. maj 2002 - 10:42 #34
Prøv at begrænse antallet til 50 i din database og så ændre de to steder der står 100 til 10..

Det giver det samme resultat for testen,men overbelaster ikke din mail-box alt for meget.
Avatar billede bobbedude Nybegynder
02. maj 2002 - 10:44 #35
hehe det vil jeg gøre om lidt når det stilner lidt af
Avatar billede eagleeye Praktikant
02. maj 2002 - 12:19 #36
Der er noget med denne if:

If Err <> 0 Then ' error occurred
  strErr = Err.Description
  response.write "<script>alert('Mail er sendt - Check email for fejl!');"
  response.write "location.href='ghostmailer.asp'</script>"
else
  response.write "<script>alert('Mail er sendt!');"
  response.write "location.href='ghostmailer.asp'</script>"
  response.end
End If

Når de første er send stopper den vel! Da den linker til dhostmailer.asp efterfuldt af response.end. Det skal den ville ikke gøre. Som minimum skal:
response.write "location.href='ghostmailer.asp'</script>"
response.end
fjernes.
Avatar billede bobbedude Nybegynder
02. maj 2002 - 12:38 #37
Jeg har tabt tråden lidt her er mit script.

<%
ConnectStr = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" &server.mappath("subs.mdb")
Set rs = Server.CreateObject("adodb.recordset")
idStart = request("id")
if idStart = "" then
  idStart = 0
end if
strSQL = "SELECT * FROM emails WHERE id > " & idStart & " ORDER BY ID ASC"
rs.Open strSQL, ConnectStr, 2, 3



if request("testmail") = "Nej" then

    on error resume next
EmailSend  =0
Do While (not rs.EOF) AND (CInt(EmailSend) < 100)
CInt(EmailSend) = CInt(EmailSend) + 1
        strHost = "post.tele.dk"

          Set Mail = Server.CreateObject("Persits.MailSender")
          Mail.Host = strHost
          Mail.From = "min-email@mail.dk"
          Mail.Charset = "ISO-8859-1"
          Mail.AddAddress rs("emails")
          Mail.Subject = Mail.EncodeHeader(Request("Subject"))
          Mail.Body = Request("comm")
      Mail.Send
          rs.MoveNext
          Loop
    If Err <> 0 Then ' error occurred
    strErr = Err.Description
    response.write "<script>alert('Mail er sendt - Check email for fejl!');"
    response.write "location.href='ghostmailer.asp'</script>"
    else
    response.write "<script>alert('Mail er sendt!');"
    response.write "location.href='ghostmailer.asp'</script>"
    response.end
    End If
   
    if (NOT rs.EOF) AND (CInt(EmailSend) = 100) then
    response.redirect ("ghostmailer.asp?testmail=Nej&id=" & rs("id"))
    end if

    rs.close

end if
%>

hvad er det for en response.write "location.href='ghostmailer.asp'</script>" jeg skal fjerne ?
Avatar billede eagleeye Praktikant
02. maj 2002 - 13:35 #38
Når den har send tjekkes for om der er fejl i mailen:

If Err <> 0 Then ' error occurred
  'Fejl i mail
else
  'Ikke fejl i mail:
end if

Når den kommer ind i den if sætning og der ikke er nogle fejl. viser den en pop-up vindue med  "Mail er sendt!"  Så laver en en Javascript redirect (location.href='ghostmailer.asp) det vil sige den holder op med at sende mails.
Avatar billede eagleeye Praktikant
02. maj 2002 - 13:37 #39
I første omgang syntes jeg du skal ændre

else
  response.write "<script>alert('Mail er sendt!');"
  response.write "location.href='ghostmailer.asp'</script>"
  response.end
end if


Til:
Else
  response.write "nogle mails send"
end if
Avatar billede lerchedahl Nybegynder
02. maj 2002 - 13:41 #40
hej, jeg ved ingenting om asp, men skal:

"Set Mail = Server.CreateObject("Persits.MailSender")"

ikke ændres til:

"Set Mail = Server.CreateObject("Persist.MailSender")"

?
Avatar billede eagleeye Praktikant
03. maj 2002 - 00:16 #41
Ups det har jeg helt glemt men for at redirecte skal response.buffer sætters til true i toppen af filen:

<%
Response.Buffer = true
ConnectStr = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" &server.mappath("subs.mdb")
Set rs = Server.CreateObject("adodb.recordset")
idStart = request("id")
if idStart = "" then
  idStart = 0
end if
strSQL = "SELECT * FROM emails WHERE id > " & idStart & " ORDER BY ID ASC"
rs.Open strSQL, ConnectStr, 2, 3


-----

Jeg har prøvet at ligge din kode ind på en side og test lidt.

Jeg har fået det til at virke hvis jeg har response.buffer = true på samt fjerne denne if:

If Err <> 0 Then ' error occurred
  strErr = Err.Description
  response.write "<script>alert('Mail er sendt - Check email for fejl!');"
  response.write "location.href='ghostmailer.asp'</script>"
else
  response.write "<script>alert('Mail er sendt!');"
  response.write "location.href='ghostmailer.asp'</script>"
  response.end
End If
Avatar billede eagleeye Praktikant
03. maj 2002 - 07:39 #42
Jeg glemte lige at skriver i SQL-sætningen skal > rettes til >= ellers springer den en over når siden loades igen:

strSQL = "SELECT * FROM emails WHERE id >= " & idStart & " ORDER BY ID ASC"
Avatar billede bobbedude Nybegynder
03. maj 2002 - 09:14 #43
oki jeg er klar til at prøve igen.
Avatar billede bobbedude Nybegynder
03. maj 2002 - 09:22 #44
Scriptet ser nu sådan ud:

<%
Response.Buffer = true
ConnectStr = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" &server.mappath("subs.mdb")
Set rs = Server.CreateObject("adodb.recordset")
idStart = request("id")
if idStart = "" then
  idStart = 0
end if
strSQL = "SELECT * FROM emails WHERE id >= " & idStart & " ORDER BY ID ASC"
rs.Open strSQL, ConnectStr, 2, 3



if request("testmail") = "Nej" then

    on error resume next
EmailSend  =0
Do While (not rs.EOF) AND (CInt(EmailSend) < 10)
CInt(EmailSend) = CInt(EmailSend) + 1
        strHost = "post.tele.dk"

          Set Mail = Server.CreateObject("Persits.MailSender")
          Mail.Host = strHost
          Mail.From = "min-email@mail.dk"
          Mail.Charset = "ISO-8859-1"
          Mail.AddAddress rs("emails")
          Mail.Subject = Mail.EncodeHeader(Request("Subject"))
          Mail.Body = Request("comm")
      Mail.Send
          rs.MoveNext
          Loop
    'If Err <> 0 Then ' error occurred
    'strErr = Err.Description
    'response.write "<script>alert('Mail er sendt - Check email for fejl!');"
    'response.write "location.href='ghostmailer.asp'</script>"
    'Else
      'response.write "nogle mails send"
    'end if
   
    if (NOT rs.EOF) AND (CInt(EmailSend) = 10) then
    response.redirect ("ghostmailer.asp?testmail=Nej&id=" & rs("id"))
    end if

    rs.close

end if
%>

Når jeg kører det så sender den alle mail på en gang og reloader ikke for hver 10'ende mail. Jeg har kommenteret if sætningen ud.
Avatar billede eagleeye Praktikant
03. maj 2002 - 15:06 #45
Prøv lige og fjern/udkommenter :
  on error resume next
Avatar billede bobbedude Nybegynder
03. maj 2002 - 15:40 #46
Nu gør den noget jeg ikke helt kan gennemskue. De første 10 mails kommer med overskrift og tekst. De næste 40 er uden indhold men den reloader ikke, men når den er færdig hopper den til ghostmailer.asp?testmail=Nej&id=5796, men den sender alle på en gang stadig. Ps. har du icq ??
Avatar billede bobbedude Nybegynder
03. maj 2002 - 15:43 #47
jeg burde vel kunne se om den reloader siden ikke ?
Avatar billede eagleeye Praktikant
03. maj 2002 - 15:44 #48
Ja det er fordi teksten ligger i formen og så man reloader siden er det ikke længere POST så derfor skal teksten overføres i querystringen ligesom Testmail=Nej eller skal det ligges ind i en session som så kan læses ...
Avatar billede bobbedude Nybegynder
03. maj 2002 - 15:48 #49
jeg har fået det til at kører sådan:
response.redirect ("ghostmailer.asp?testmail=Nej&Subject=" &  Request("Subject") & "&comm= " & Request("comm") & "&id=" & rs("id"))

Det virker ok.
skulle den ikke reloade siden for hver 10 mail den sender ??
Avatar billede eagleeye Praktikant
03. maj 2002 - 15:53 #50
jo det skulle den.
Avatar billede bobbedude Nybegynder
03. maj 2002 - 15:56 #51
hmm det gør den ikke ?
Havde du icq ?
Avatar billede eagleeye Praktikant
03. maj 2002 - 15:57 #52
nej ikke på arbejde :)
Avatar billede eagleeye Praktikant
03. maj 2002 - 15:58 #53
Får du 50 mail?
Avatar billede bobbedude Nybegynder
03. maj 2002 - 16:01 #54
ja jeg får alle mail's men den sender dem alle uden at reloade siden
Avatar billede eagleeye Praktikant
03. maj 2002 - 16:03 #55
ser dit link bar ca. sådan her ud:

ghostmailer.asp?testmail=Nej&Subject=blablalba&&comm=NogetComm&id=XX

Hvor blablabla er det du har skrevet i subject
NogetComm er det du har skrevet som Comm
Samt XX = et tal
Avatar billede eagleeye Praktikant
03. maj 2002 - 16:05 #56
for så har den reloaded og send
Avatar billede bobbedude Nybegynder
03. maj 2002 - 16:06 #57
Når jeg har skrevet og trykket send, så står begynder den blå streg i bunden at bevæge sig, efter ca 1 minut loader den siden ghostmailer.asp?testmail=Nej&Subject=blablalba&&comm=NogetComm&id=5796 og den er færdig. Når jeg checker mail får jeg 50
Avatar billede eagleeye Praktikant
03. maj 2002 - 16:06 #58
Du kan evt prøve at ligge EmaiSend tallet ind i subejct på mailen:

Mail.Subject = EmailSend & ":" & Mail.EncodeHeader(Request("Subject"))

Så skulle du få 50 mail hvor subject er 1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3 osv.
Avatar billede eagleeye Praktikant
03. maj 2002 - 16:09 #59
Du vil se en blank side kort tid så loader den blank side så loader den bland side og så kommer form felterne frem igen...
Avatar billede bobbedude Nybegynder
03. maj 2002 - 16:12 #60
den gør som du sagde 1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10 osv.
Men den reloader ikke siden.
Avatar billede eagleeye Praktikant
03. maj 2002 - 16:15 #61
Jo men du kan nok ikke nå at se det...
For så lænde den sender mail vil eks. IE's  e drejese rundt. Når de 10 er sendt så laver man redirect til samme side og igen vil "e" drejse rundt. "e" holder ført op med at dreje rundt når hele siden er loaded, samt returneret fra serveren.

Hvis den ikke reloaded siden vil du kun modtage 10 mail.
Du kan prøve at udkommentere redirect og se om du så ikke kun modtager 10 mails.
Avatar billede bobbedude Nybegynder
03. maj 2002 - 16:19 #62
Du havde ret.
Avatar billede bobbedude Nybegynder
03. maj 2002 - 16:20 #63
tror du så at jeg er ude over problemer med at firewallen timer ud fordi scriptet står og kører med dette script ?.
Avatar billede eagleeye Praktikant
03. maj 2002 - 16:31 #64
Tja det er et godt spørgsmål..

Siden reloades men om firewalen acceptere det som en ny side og resetter timeren, det ved jeg vist ikke nok om firewalls om til at udtale mig om.
Avatar billede bobbedude Nybegynder
03. maj 2002 - 16:38 #65
oki men du har fået point aligevel.
Ps. jeg har sat counteren til 1 også lavet en update der skriver ok i et felt så jeg kan holde øje med hvor mange der er sendt.
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