Martin Jørgensen wrote:
> Hej alle sammen
>
> Jeg er ved at lave et nyhedssystem, og bruger J-mail til at sende
> oplysningerne til brugeren, men når at brugeren tilmelder sig til
> nyhedsbrevet, bliver oplysningerne først gemt og derefter sendt
> til brugeren, men når at jeg skal hente oplysningerne fra
> databasen får jeg denne fejl:
> Der opstod en Microsoft VBScript-kørselsfejl (0x800A000D)
> Typer stemmer ikke overens: 'AddRecipient'
> /darkskies/nyhed_incl.asp, line 16
>
> Men denne fejl kommer når at jeg bruger denne kode:
> strSQL = "SELECT * FROM bruger Where id =" & Request("id")
>
> Og linie 16 er denne kode:
> msg.AddRecipient rs("mail")
>
>
> Hele min kode ser sådan ud:
> <%
> Set Conn = Server.CreateObject("ADODB.Connection")
> Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
> Server.MapPath("log/nyhedsbrev.mdb")
>
> strSQL = "SELECT * FROM bruger Where id =" & Request("id")
> set rs = Conn.execute(strSQL)
>
> Set msg = Server.CreateOBject( "JMail.Message" )
>
> msg.Logging = True
> msg.Silent = True
> msg.From = "support@darkskies.dk" 'Afsender e-mail
> msg.FromName = "
www.darkskies.dk" 'Afsender navn
> msg.Charset = "iso-8859-1"
>
> msg.AddRecipient rs("mail")
> msg.Subject = "Tilmeldelse til
www.darkskies.dk"
> msg.Body = "Hej " & rs("navn")
> msg.Body = msg.Body & vbCrLf
> msg.Body = msg.Body & vbCrLf
> msg.Body = msg.Body & "Du er nu tilmeldt til at modtage
> nyhedsbrev fra darkskies.dk"
> msg.Body = msg.Body & vbCrLf
> msg.Body = msg.Body & "darkskies.dk håber at du bliver glad for
> din tilmeldelse til vores nyhedsbrev"
>
> msg.Body = msg.Body & vbCrLf
> msg.Body = msg.Body & "Hvis det ikke var dig som har tilmeldt
> denne mail adresse, så kan du gå ind på denne side
>
www.darkskies.dk/slet.asp."
>
> msg.Body = msg.Body & vbCrLf
> msg.Body = msg.Body & "Du kan ikke skrive tilbage til denne mail,
> men gå ind på
www.darkskies.dk/write.asp"
> msg.Body = msg.Body & vbCrLf
> msg.Body = msg.Body & vbCrLf
> msg.Body = msg.Body & "Med venlig hilsen"
> msg.Body = msg.Body & vbCrLf
> msg.Body = msg.Body & "darkskies.dk"
> 'msg.Send("smtp.mail.dk" ) 'TDC mail server
> msg.Send("smtp.tele2.dk" ) 'Tele2 mail server
> 'msg.Send("mail.dandomain.dk") 'Dandomain mail server
>
> 'Response.write "Meddelelsen er nu sendt!"
>
> Set msg = nothing
> %>
>
> Jeg har lavet noget ligene før, og det virker.
>
> Er der nogle som kan se hvad jeg har lavet forkert?
>
> Mvh
> Martin Jørgensen
>
Hej Martin,
Ja, umiddelbart ser det jo meget fornuftigt ud... du kan dog lige teste dit
output fra db'en.
Gør evt. flg.:
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
Server.MapPath("log/nyhedsbrev.mdb")
strSQL = "SELECT * FROM bruger Where id =" & Request("id")
set rs = Conn.execute(strSQL)
Response.Write("db_mail:[" & rs.fields("mail") & "]")
Response.End
Så skriver du indholdet af "mail" ud og stopper resten af indlæsningen ...
så kan du se outputtet ... og ja - det kan jo være det ser helt af h.t.
ud!
/ Jan