Det forstår jeg ikke. rs("email") indeholder 3 emailadresser og rs2("tekst") indeholder 3 meddelelser. Ergo er der vel ingen tomme recordsets. Hvis jeg prøver dit forslag, løbes scriptet godt nok igennem uden fejl, men der bliver ikke sendt nogen mail.
jeg kan ikke huske reglerne for det hersens BOF og EOF, men BOF står jo for Beginning Of File eller lignende. Så det kan måske tænkes at du ikke kan bede den om at flytte sig til start når den allerede står på start positionen. Prøv rykke linjen med rs2.movefirst ned hvor du også har rs.movenext for til den tid ved du at du ikke står i starten mere
De sker det samme som ved cpufans forslag. Scriptet køres igennem uden fejlmeddelelse, der udskrives "Alle beskeder blev afsendt korrekt", men der sendes ingen mail!
ja det betyder jo så at din sql sætning "SELECT tekst,startdato,id FROM ugebrev WHERE meddeler='" & session("brugernavn") & "' AND startdato>DATE()-"&minus ikke giver dig noget resultat
hehe mon ikke det løser en del så ;o) Det er altid underholdene at snuppe koden fra et sted, og så glemme alle mulige små dumme ting man ikke havde overvejet, og så ser man sig jo blind på det :o)
du skal/kan selvfølgelig så rette strBesked til så det ikke bare kommer i een stor smørre Du kan endvidere også benytte JMail.HTMLBody i stedet for JMail.Body , hvorved du kan indsætte html kode i mailen hvis det er
Men hvis vi alligevel er ude i at rs2 skal gennemløbes og samles for at sendes ud til hver i rs ja så kan den ligeså godt komme uden om den første løkke For den behøves jo ikke køre for hver email adresse ----- StrSQL = "Select * from mailliste" set rs = Conn.execute(strSQL)
Dato1 = date() minus = "7"
SQL = "SELECT tekst,startdato,id FROM ugebrev WHERE meddeler='" & session("brugernavn") & "' AND startdato>DATE()-"&minus Set rs2 = Conn.Execute(SQL)
Do While Not (rs2.Eof) strBesked = strBesked & " : " & rs2("tekst") rs2.MoveNext Loop
Det med at lave html formatering kræver bare at du ændrer JMail.Body til JMail.HTMLBody Så vidt jeg husker kan du så gøre sådan her -- JMail.Body = "Denne tekst vises fordi du ikke kan modtage html emails" JMail.HTMLBody = "Det er fedt at lave <b>FEDE</b> html mails" -- Altså du indsætter bare html koden som du ønsker
det var så lidt og tak for points :o) Min baggrund indenfor lige netop asp er såmend ikke andet end een hjemmeside lavet for en spejder forening hehe Derudover læser jeg datalogi på KU så jeg er rimelig godt inde i "programmerings tankegang" hvis man kan kalde det det Jeg er nummer 1 på point statestikken i asp kategorien herinde i år, og det er faktisk herigennem jeg har min meste erfaring
ha - tak skal du have, men jeg er faktisk ved at droppe ud fordi jeg hader deres nye studie struktur, hmm og fordi jeg har for meget gæld, desværre :o/ Men jo da, du råber bare højt :o)
busschou>>Så er jeg her allerede igen. Jeg vil alligevel ikke sende mails med BBC, men da du også lavede andre ændringer kan jeg ikke gennemskue det. Kan du ikke rette det til, så det sender almindeligt (JMail.AddRecipientEx)
Jo så skal den bare ind i løkken igen, med mindre folk gerne må se hinandens email adresser selvfølgelig, men det må de jo som regel ikke --- StrSQL = "Select * from mailliste" set rs = Conn.execute(strSQL)
Dato1 = date() minus = "7"
SQL = "SELECT tekst,startdato,id FROM ugebrev WHERE meddeler='" & session("brugernavn") & "' AND startdato>DATE()-"&minus Set rs2 = Conn.Execute(SQL)
Do While Not (rs2.Eof) strBesked = strBesked & " <br> " & rs2("tekst") rs2.MoveNext Loop
Do While Not (rs.Eof) Set JMail = Server.CreateObject("JMail.SMTPMail") JMail.ContentType = "" JMail.ServerAddress = "xxx.dk" JMail.Sender = "xxx@x.dk" JMail.Subject = "Ugebrev" JMail.Body = "Du skal understøtte html mails for at læse denne mail" JMail.HTMLBody = strbesked JMail.AddRecipientEx "" & strEmail & "", "" & strEmail & "" JMail.Execute Set JMail = Nothing rs.MoveNext Loop
response.write "<br><br><b>Alle beskeder blev afsendt korrekt.</b>"
aahhh det er jo klart, sorry, lavede en copy paste fejl Du skal selvfølgelig ikke benytte strEmail men rs("email") altså ret JMail.AddRecipientEx "" & strEmail & "", "" & strEmail & "" til JMail.AddRecipientEx "" & rs("email") & "", "" & rs("email") & ""
busschou>>Jeg har fundet "fejlen". Da den begyndte at skrive
"Du skal understøtte html mails for at læse denne mail"
havde jeg været væk fra pc'en et stykke tid og åbenbart længe nok til at den famøse session var udløbet! Så vidt jeg husker er sessions sat til 20 min i default.
Jo, hvis sessionen ikke er sat, så er rs2 jo tom. Jeg kan bare ikke forstå, hvorfor den så ikke skriver Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
hehe aha Så skal vi lige have sessions på plads :o) Så snart du går ind på en asp side så får du en session, denne følger dig lige end til den dør, enten ved timeout eller ved man kalder abandon Hvis du øverst i dit dokument har skrevet session("brugernavn") = "kontor" (eller hvad det nu var) Så bliver denne session sat hver gang du går ind på siden! Hvis du har ventet i 20-30min eller længere, ja så er din session død, det er korrekt, men så snart du trykker F5 så oprettes der en forbindelse til serveren for at hente asp siden. Serveren opretter en ny session og den sender siden, hvorpå du igen sætter session("brugernavn") til "kontor" :o) Er du med ? ;o)
I de eksempler jeg har set kan man både benytte JMail.Body og JMail.HTMLBody og hvis klienten så understøtter html mails så får han automatisk html delen Men det kræver at contenttype er sat til "text/html" Så det undrer mig at den giver fejl hvis den er sat Jeg har ikke opgivet dig!, men jeg forstår ikke helt hvori fejlen skal findes :o/
Ja, ja jeg er med, men hør lige her. Som før sagt har jeg hentet noget af scriptet ud af et af mine andre scripts, bl.a. SELECT'en. Da jeg netop ikke får sat en session øverst i mit jmail-script, har jeg logget ind via en anden side. Den session som så bliver sat der, lever så videre og bliver brugt til at putte noget i meddeler='" & session("brugernavn"). Altså får jeg ikke sat denne session, bliver mailen sendt, men recordsettet er tomt. Forstår du hvad jeg mener? Hvis jeg sætter contenttype="text/html", så bliver mailen ikke sendt. Jeg har læst et sted, at hvis man bruger JMail.HTMLBody , så skal man sætte contenttype="", ellers virker det ikke. Hvorfor ved jeg ikke. Correct me if I'm wrong!
Korrektion - mailen bliver sendt, men indholdet kommer til at se sådan ud:
This is a multipart message in MIME format. ----NEXT_BM_3DC1655BDDE9432C9266451A053680AC Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: Quoted-Printable Du skal underst=F8tte html mails for at l=E6se denne mail ----NEXT_BM_3DC1655BDDE9432C9266451A053680AC Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: Quoted-Printable <br=3E 17-09-2005:<br=3Egoddag <br=3E 17-09-2005:<br=3Eugebrev <br=3E 17-09= -2005:<br=3Eugebre 37 ----NEXT_BM_3DC1655BDDE9432C9266451A053680AC--
jeg har ikke hørt om den fejl, men har heller ikke selv testet det Men i mine ører virker det som logik for burhøns at hvis contenttype="text/plain" så vises der ingen html formatering og hvis det er "text/html" så vises der formatering Ens email program kigger jo netop i content type for at finde ud af om den skal formatere det Hvis det står som plain text så vil du få html koden spyttet i hovedet frem for at se effekten af den Men måske jeg ikke er nok inde i jmail alligevel så
Synes godt om
Ny brugerNybegynder
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.