Avatar billede tblaster Nybegynder
23. maj 2002 - 22:29 Der er 33 kommentarer og
1 løsning

E-mail og db

Hejsa ...


Jeg har en database med en tabel der hedder Bruger. I denne er der følgende kolonner:
Brugernavn
Gruppenavn
Brugerkode
Email
Initial
Fornavn
Efternavn

Hvordan laver jeg en asp side som jeg kan køre, som så går ind og sender en mail til hver enkelt i databasen med deres oplysninger og ikke de andres, de skal altså bare have tilsendt deres egne brugernavn, gruppenavn, brugerkode, initial, fornavn samt efternavn. Og det hele skal gøres automatisk ved bare at åbne siden!

Jeg giver de 200 point til den som smider asp koden som jeg skal bruge til det!
Avatar billede tobby Nybegynder
23. maj 2002 - 22:39 #1
hvilken mail-komponent har du adgang til?
Avatar billede tuctoh Nybegynder
23. maj 2002 - 22:40 #2
lad os se engang ;)
Det er access, right? Det fixer jeg.
Avatar billede tuctoh Nybegynder
23. maj 2002 - 22:44 #3
strSQL = "SELECT * FROM bruger"
Set dbConnection = Server.CreateObject("ADODB.Connection")
Set rsRecordSet = Server.CreateObject("ADODB.RecordSet")
dbConnection.Open "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=e:\domains\\user\htdocs\db\database.mdb;UID=admin;PWD="
rsRecordSet.Open strSQL, dbConnection, 1, 2

do while not rsRecordSet.EOF

set JMail = server.createobject("JMail.SMTPMail")
JMail.sender = "dig@dinserver.com"
JMail.SenderName = "Dit Navn"
JMail.subject = "Emne"
JMail.AddRecipient rsRecordSet("Email")
JMail.ContentType = "text/plain"
JMail.body = "Hej,"&VbCrLf&""&VbCrLf&"Dit kodeord er: "&rsRecordSet("Brugerkode")&""&VbCrLf&"Gruppekode: "&rsRecordSet("Gruppekode")&""&VbCrLf&"Navn: "&rsRecordSet("Fornavn")&" "&rsRecordSet("Efternavn")&""&VbCrLf&"Initial: "&rsRecordSet("Initial")&""&VbCrLf&""&VbCrLf&"MVH"&VbCrLf&"~Mig"
JMail.priority = 1
JMail.maildomain = "ditdomæne.com"
JMail.silent = true
JMail.execute
JMail.close()


rsRecordSet.movenext

loop

rsRecordSet.Close
dbConnection.Close
Set rsRecordSet = Nothing
Set dbConnection = Nothing
Avatar billede tuctoh Nybegynder
23. maj 2002 - 22:46 #4
det her er vel og mærke hvis du har JMAIL.
Hvis du har CDONT's, bliver det:


strSQL = "SELECT * FROM bruger"
Set dbConnection = Server.CreateObject("ADODB.Connection")
Set rsRecordSet = Server.CreateObject("ADODB.RecordSet")
dbConnection.Open "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=e:\domains\\user\htdocs\db\database.mdb;UID=admin;PWD="
rsRecordSet.Open strSQL, dbConnection, 1, 2

do while not rsRecordSet.EOF

body = "Hej,"&VbCrLf&""&VbCrLf&"Dit kodeord er: "&rsRecordSet("Brugerkode")&""&VbCrLf&"Gruppekode: "&rsRecordSet("Gruppekode")&""&VbCrLf&"Navn: "&rsRecordSet("Fornavn")&" "&rsRecordSet("Efternavn")&""&VbCrLf&"Initial: "&rsRecordSet("Initial")&""&VbCrLf&""&VbCrLf&"MVH"&VbCrLf&"~Mig"

objCDO.To = rsRecordSet("email")
objCDO.From = "dinemail"lknbdwg.sdf"
   
objCDO.Subject = "Emne"
objCDO.Body = body
   
objCDO.Send


rsRecordSet.movenext

loop

rsRecordSet.Close
dbConnection.Close
Set rsRecordSet = Nothing
Set dbConnection = Nothing
Avatar billede tuctoh Nybegynder
23. maj 2002 - 22:46 #5
Håber det hjælper ;)
Avatar billede tuctoh Nybegynder
23. maj 2002 - 22:47 #6
du skal selvfølgelig selv ændre stigen til din database, da jeg ikke ved hvor den ligger.
Din mail server skal du også selv skrive ind etc...
Avatar billede cyberkox Nybegynder
24. maj 2002 - 12:16 #7
Lytter med...
Avatar billede tuctoh Nybegynder
24. maj 2002 - 19:43 #8
hallo tblaster!?
Kan du bruge det her?
Avatar billede tblaster Nybegynder
25. maj 2002 - 17:29 #9
tuctoh ... jeg får først lige tid til at checke det i morgen. Til din oplysning ligger hotellet på cliches server og jeg ved ikke hvad de understøtter af mail system. Deres adresse er: www.cliche.dk
Avatar billede tuctoh Nybegynder
25. maj 2002 - 17:34 #10
du skal bruge det første af exemplerne jeg gav; du har JMAIL hos din server.
Avatar billede tblaster Nybegynder
26. maj 2002 - 16:16 #11
Når jeg køre med den øverste som du skrev så får jeg følgende fejl:
HTTP 500 - Intern serverfejl

Sådan har jeg at min side op:
<%
strSQL = "SELECT * FROM bruger"
Set dbConnection = Server.CreateObject("ADODB.Connection")
Set rsRecordSet = Server.CreateObject("ADODB.RecordSet")
dbConnection.Open "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=login.mdb;UID=admin;PWD="
rsRecordSet.Open strSQL, dbConnection, 1, 2

do while not rsRecordSet.EOF

set JMail = server.createobject("JMail.SMTPMail")
JMail.sender = "mail.just2funny.dk"
JMail.SenderName = "Dit Navn"
JMail.subject = "Emne"
JMail.AddRecipient rsRecordSet("Email")
JMail.ContentType = "text/plain"
JMail.body = "Hej,"&VbCrLf&""&VbCrLf&"Dit kodeord er: "&rsRecordSet("Brugerkode")&""&VbCrLf&"Gruppekode: "&rsRecordSet("Gruppekode")&""&VbCrLf&"Navn: "&rsRecordSet("Fornavn")&" "&rsRecordSet("Efternavn")&""&VbCrLf&"Initial: "&rsRecordSet("Initial")&""&VbCrLf&""&VbCrLf&"MVH"&VbCrLf&"~Mig"
JMail.priority = 1
JMail.maildomain = "just2funny.dk"
JMail.silent = true
JMail.execute
JMail.close()


rsRecordSet.movenext

loop

rsRecordSet.Close
dbConnection.Close
Set rsRecordSet = Nothing
Set dbConnection = Nothing

%>
Avatar billede tuctoh Nybegynder
26. maj 2002 - 16:21 #12
Gå op i funktioner > inernetinstillinger > avanceret
og fjern krydset fra "vis medd om uskadelige HTTP fejl".
Kør filen igen, og sig mig hvad for en fejl du får.
Avatar billede tblaster Nybegynder
26. maj 2002 - 16:27 #13
Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x394 Thread 0x558 DBC 0x9902024 Jet'.

/login/send.asp, line 5
Avatar billede tuctoh Nybegynder
26. maj 2002 - 16:57 #14
dbConnection.Open "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=login.mdb;UID=admin;PWD="

prøv og se om du har stavet det hele rigtigt der....
Det er der fejlen ligger vil jeg tro.

Ellers, skriv lige hvad linie 5 er :)
Avatar billede tblaster Nybegynder
26. maj 2002 - 17:01 #15
Linje 5 er den som du kan se i min overstående besked:
dbConnection.Open "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=login.mdb;UID=admin;PWD="
Avatar billede tblaster Nybegynder
26. maj 2002 - 17:02 #16
Min database hedder:
Login.mdb
Avatar billede tblaster Nybegynder
26. maj 2002 - 17:04 #17
I mine andre filer bruger jeg følgende til at logge ind i databasen:

Set Conn = Server.CreateObject("ADODB.Connection")
Set Rs = Server.CreateObject("ADODB.Recordset")
Conn.Open "DBQ=" & Server.Mappath("Login.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
   

Tror du ikke vi skal have fat i noget af det? Jeg har ikke brug for kode og alt mulig på min database!
Avatar billede tblaster Nybegynder
26. maj 2002 - 17:05 #18
Bruger jeg følgende:

strSQL = "SELECT * FROM bruger"
Set Conn = Server.CreateObject("ADODB.Connection")
Set Rs = Server.CreateObject("ADODB.Recordset")
Conn.Open "DBQ=" & Server.Mappath("Login.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
rsRecordSet.Open strSQL, dbConnection, 1, 2

Får jeg følgende fejl:
Object required: 'rsRecordSet'
Avatar billede tblaster Nybegynder
26. maj 2002 - 17:07 #19
Og følgende:

strSQL = "SELECT * FROM bruger"
Set Conn = Server.CreateObject("ADODB.Connection")
Set Rs = Server.CreateObject("ADODB.Recordset")
Conn.Open "DBQ=" & Server.Mappath("Login.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
rs.Open SQL, Conn

Giver denne fejl:
Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.
Avatar billede tuctoh Nybegynder
26. maj 2002 - 17:14 #20
så åben din database som du plejer; det betyder ikke det mindste!
Her kalder jeg bare mit recordset "rsRecordSet", men du kan kalde det hvad du vil...

hvor du normalt skriver Rs, skal du her skrive "rsRecordSet". Det er bare 2 forskellige navne vi bruger.

Det vil sige.
Du skal ændre:


strSQL = "SELECT * FROM bruger"
Set dbConnection = Server.CreateObject("ADODB.Connection")
Set rsRecordSet = Server.CreateObject("ADODB.RecordSet")
dbConnection.Open "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=e:\domains\\user\htdocs\db\database.mdb;UID=admin;PWD="
rsRecordSet.Open strSQL, dbConnection, 1, 2



til hvordan du normalt ville åbne en forbindelse til databasen, med SQL-sætningen "SELECT * FROM bruger".

Burde ikke være et problem :)
Avatar billede tblaster Nybegynder
26. maj 2002 - 17:22 #21
Har ændret det hele til:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Set rsRecordSet = Server.CreateObject("ADODB.Recordset")
Conn.Open "DBQ=" & Server.Mappath("Login.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
   
SQL = "SELECT Brugernavn, Email, Brugerkode, nitial, Fornavn, Efternavn FROM Bruger"
rsRecordSet.Open SQL, Conn

do while not rsRecordSet.EOF

set JMail = server.createobject("JMail.SMTPMail")
JMail.sender = "mail.just2funny.dk"
JMail.SenderName = "Dit Navn"
JMail.subject = "Emne"
JMail.AddRecipient rsRecordSet("Email")
JMail.ContentType = "text/plain"
JMail.body = "Hej,"&VbCrLf&""&VbCrLf&"Dit kodeord er: "&rsRecordSet("Brugerkode")&""&VbCrLf&"Gruppekode: "&rsRecordSet("Gruppekode")&""&VbCrLf&"Navn: "&rsRecordSet("Fornavn")&" "&rsRecordSet("Efternavn")&""&VbCrLf&"Initial: "&rsRecordSet("Initial")&""&VbCrLf&""&VbCrLf&"MVH"&VbCrLf&"~Mig"
JMail.priority = 1
JMail.maildomain = "just2funny.dk"
JMail.silent = true
JMail.execute
JMail.close()


rsRecordSet.movenext

loop

rsRecordSet.Close
dbConnection.Close
Set rsRecordSet = Nothing
Set dbConnection = Nothing

%>

Det giver følgende fejl:
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
Avatar billede tblaster Nybegynder
26. maj 2002 - 17:39 #22
Kom lige til at se at jeg havde glemt et i i initial i min sql ... nu får jeg følgende fejl ved kørelse af koden:

Object required: 'dbConnection'
Avatar billede tuctoh Nybegynder
26. maj 2002 - 17:46 #23
rsRecordSet.Close
dbConnection.Close
Set rsRecordSet = Nothing
Set dbConnection = Nothing

skal så være:

rsRecordSet.Close
Conn.Close
Set rsRecordSet = Nothing
Set Conn = Nothing
Avatar billede tuctoh Nybegynder
26. maj 2002 - 17:46 #24
Emailene burde blive sendt ud nu..
Avatar billede tblaster Nybegynder
26. maj 2002 - 17:47 #25
Selvom jeg får en fejl så sender den faktisk en mail men kun til den øverste i databasen og ikke til alle de andre :-(
Avatar billede tuctoh Nybegynder
26. maj 2002 - 17:48 #26
hvad for en fejl får du da nu?
Avatar billede tblaster Nybegynder
26. maj 2002 - 17:49 #27
Ændre jeg det som du skrev så kommer der ingen fejl men den sender stadig kun en mail til den øverste i databsen og ikke til alle de andre :-(
Avatar billede tuctoh Nybegynder
26. maj 2002 - 17:52 #28
hmm...

Er du sikker på at alle de andre adresser virker?
Ellers kan du (kun mens du tester) sætte linie:
JMail.silent = true
til
JMail.silent = false

og du vil få en fejl-meddelelse, hvis mailen ikke blev sendt.
Gør det, og se om der står noget.
Avatar billede tblaster Nybegynder
26. maj 2002 - 17:54 #29
Den giver følgende:

501 Error parsing from address: mail.just2funny.dk
Avatar billede tuctoh Nybegynder
26. maj 2002 - 17:56 #30
nåå...
Den blok der sender mailen skal ændres til:



set JMail = server.createobject("JMail.SMTPMail")
JMail.sender = "webmaster@just2funny.dk"
JMail.SenderName = "tblaster"
JMail.subject = "Emne"
JMail.AddRecipient rsRecordSet("Email")
JMail.ContentType = "text/plain"
JMail.body = "Hej,"&VbCrLf&""&VbCrLf&"Dit kodeord er: "&rsRecordSet("Brugerkode")&""&VbCrLf&"Gruppekode: "&rsRecordSet("Gruppekode")&""&VbCrLf&"Navn: "&rsRecordSet("Fornavn")&" "&rsRecordSet("Efternavn")&""&VbCrLf&"Initial: "&rsRecordSet("Initial")&""&VbCrLf&""&VbCrLf&"MVH"&VbCrLf&"~Mig"
JMail.priority = 1
JMail.maildomain = "mail.just2funny.dk"
JMail.silent = true
JMail.execute
JMail.close()
Avatar billede tblaster Nybegynder
26. maj 2002 - 18:05 #31
Sådan skal det bare gøres ... men der er en ting som jeg stadig ikke forstår ... hvor har du fået fat i at der skal være noget med Gruppekode i mailen :-D Det står der ikke noget om ... hehehe

Tak for hjælpen!
Avatar billede tuctoh Nybegynder
26. maj 2002 - 18:06 #32
lol, selv tak ;)
Ved ikke hvor jeg fik den gruppekode fra :p

Tak for points :)
Avatar billede tblaster Nybegynder
26. maj 2002 - 18:07 #33
Hvis du har mod på nogle flere så kan du hjælpe lidt her:
http://www.eksperten.dk/spm/211329
Avatar billede tuctoh Nybegynder
26. maj 2002 - 18:09 #34
oky, kigger på det :)
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