Avatar billede bentbent Nybegynder
01. februar 2003 - 16:13 Der er 5 kommentarer og
1 løsning

Dynamiske Emails med Jmail

Hejsa eksperter!!

Jeg er ved at lave en mailingliste som arbejder udfra en accessdatabase!

I databasen er der to tabeller "kunder_tid" og "tekster"

I tabellen "kunder_tid" er et felt som hedder "servicetid" i dette felt står der tallene "1, 2, 3 op til 30"

I tabellen "tekster" er der et felt der hedder TID som også går fra 1-30.

Scriptet skal så sende data fra tabellen "teskter" hvor "TID" fra tekster og "servicetid" fra kunder_tid stemmer overens!

Jeg har forgæves prøvet at få det til at virke, men kan kun få det til at virke hvis jeg laver TID og Service id til en fast value og gentager scriptet 30 gange - som overhovedet ikke er optimalt!  håber der er nogle der kan hjælpe!!

Scriptet uden tabellen tekster står forneden!!

--------------------------------------------------------
<%
if request("mode") = "send" then

Set Conn = Server.CreateObject("ADODB.Connection")
conn.Open "DBQ="&(Server.MapPath(".")) &"\database\rygning.mdb; DefaultDir=DBQ="&(Server.MapPath(".")) &"\;Driver={Microsoft Access Driver (*.mdb)};"
    SQL = "SELECT * from kunder_tid WHERE servicestart = 1;"
    set send = conn.execute( SQL )
    do while not send.eof
    on error resume next
        Set JMail = Server.CreateObject("JMail.SMTPMail")
        ' This is my local SMTP server
        JMail.ServerAddress = "websmtp.andersenit.dk"
   
        ' mail config settings
        JMail.Charset = "iso-8859-1"
        JMail.ContentTransferEncoding = "8bit"
       
        JMail.ContentType = "text/html"
        JMail.Sender = "stoprygning@stop.dk"
        JMail.Subject = sider.Fields.Item("SOverskrift")
        JMail.AddRecipient send("Kemailadresse")
        JMail.Body = sider.Fields.Item("Sbeskrivelse")
       
        ' 1 - highest priority (Urgent)
        ' 3 - normal
        ' 5 - lowest
       
        JMail.Priority = 3
       
        ' Send it...
        JMail.Execute
        set JMail = nothing

response.write "<FONT FACE='Arial' SIZE='2' COLOR='#000000'><STRONG>E-mail er sendt til : "& send("Knavn") &"</STRONG></FONT><BR>"
send.movenext
loop
conn.close
else %>
<% end if %>
Avatar billede Slettet bruger
01. februar 2003 - 16:17 #1
SQL = SELECT * FROM tekster.tekster WHERE tekster.tid = kunder_tid.servicetid
Avatar billede bentbent Nybegynder
01. februar 2003 - 16:26 #2
Den kommer med fejlen

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver] Could not find file 'C:\WINNT\system32\tekster.mdb'.

/demo/rygning/sendmail.asp, line 7

-------------------------------------------------------
Når jeg skriver:

conn.Open "DBQ="&(Server.MapPath(".")) &"\database\rygning.mdb; DefaultDir=DBQ="&(Server.MapPath(".")) &"\;Driver={Microsoft Access Driver (*.mdb)};"
    SQL = "SELECT * FROM tekster.tekster WHERE tekster.tid = kunder_tid.servicetid"

Databasen hedder: rygning.mdb

tabellerne hedder: kunder_tid, og tekster
Avatar billede Slettet bruger
01. februar 2003 - 16:33 #3
Set conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("rygning.mdb")

forudsætter at rygning.mdb ligger i samme mappe som scriptet..

"SQL = SELECT * FROM tekster.tekster WHERE tekster.tid = kunder_tid.servicetid"
Avatar billede bentbent Nybegynder
01. februar 2003 - 16:39 #4
Nu sker der noget den kommer dog men en ny fejl:

ADODB.Connection error '800a0e78'

Operation is not allowed when the object is closed.

/demo/rygning/sendmail.asp, line 7

Når scriptet lyder således:

<%
if request("mode") = "send" then

Set conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/database/rygning.mdb")
SQL = "SELECT * FROM tekster.tekster WHERE tekster.tid = kunder_tid.servicetid"
    set send = conn.execute( SQL )
    do while not send.eof
    on error resume next
        Set JMail = Server.CreateObject("JMail.SMTPMail")
        ' This is my local SMTP server
        JMail.ServerAddress = "websmtp.andersenit.dk"
   
        ' mail config settings
        JMail.Charset = "iso-8859-1"
        JMail.ContentTransferEncoding = "8bit"
       
        JMail.ContentType = "text/html"
        JMail.Sender = "stoprygning@stop.dk"
        JMail.Subject = sider.Fields.Item("SOverskrift")
        JMail.AddRecipient send("Kemailadresse")
        JMail.Body = sider.Fields.Item("Sbeskrivelse")
       
        ' 1 - highest priority (Urgent)
        ' 3 - normal
        ' 5 - lowest
       
        JMail.Priority = 3
       
        ' Send it...
        JMail.Execute
        set JMail = nothing

response.write "<FONT FACE='Arial' SIZE='2' COLOR='#000000'><STRONG>E-mail er sendt til : "& send("Knavn") &"</STRONG></FONT><BR>"
send.movenext
loop
conn.close
else %>
<% end if %>
Avatar billede bentbent Nybegynder
25. marts 2003 - 17:54 #5
Nå jeg får vist ikke nogle yderligere svar!  ellers tak for hjælpen!
Avatar billede bentbent Nybegynder
25. marts 2003 - 17:54 #6
s
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