Avatar billede tblaster Nybegynder
30. maj 2002 - 21:06 Der er 10 kommentarer og
1 løsning

Send kun til en mail!

Hejsa ...

Hvordan laver jeg nederstående kode om så man først kommer til en side hvor man skal angive Brugernavn og mail og så sender den en mail kun til en med ens oplysninger?

Ved kørelse af følgende kode sendes en mail til alle med deres egne koder!

<%
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 Grupper.Gruppenavn, Bruger.Brugernavn, Bruger.Email, Bruger.Brugerkode, Bruger.Initial, Bruger.Fornavn, Bruger.Efternavn FROM Bruger INNER JOIN Grupper ON Bruger.Gruppenavn = Grupper.GruppeId"
rsRecordSet.Open SQL, Conn

do while not rsRecordSet.EOF

set JMail = server.createobject("JMail.SMTPMail")
JMail.sender = "Thomas@just2funny.dk"
JMail.SenderName = "Webmaster"
JMail.subject = "Login oplysninger til Havneparken 1 Intranet side"
JMail.AddRecipient rsRecordSet("Email")
JMail.ContentType = "text/plain"
JMail.body = "Kære "&rsRecordSet("Fornavn")&" "&rsRecordSet("Efternavn")&" "&VbCrLf&""&VbCrLf&"Dit brugernavn er: "&rsRecordSet("Brugernavn")&""&VbCrLf&"Dit kodeord er: "&rsRecordSet("Brugerkode")&""&VbCrLf&"Gruppenavn: "&rsRecordSet("Gruppenavn")&""&VbCrLf&"Navn: "&rsRecordSet("Fornavn")&" "&rsRecordSet("Efternavn")&""&VbCrLf&"Initial: "&rsRecordSet("Initial")&""&VbCrLf&""&VbCrLf&"
JMail.priority = 1
JMail.maildomain = "mail.just2funny.dk"
JMail.silent = true
JMail.execute
JMail.close()


rsRecordSet.movenext

loop

rsRecordSet.Close
Conn.Close
Set rsRecordSet = Nothing
Set Conn = Nothing

%>

Der er nu sendt en mail til alle brugerne i databasen!
Avatar billede tmceu Praktikant
30. maj 2002 - 21:09 #1
Du skal have en WHERE clause på, eks. WHERE UserID = X
Avatar billede tmceu Praktikant
30. maj 2002 - 21:12 #2
Som dit SQL statement er nu, vil den tage alle brugere i databasen Hvis du eks. tilføjer

" WHERE Bruger.Brugerkode = '" & request.form("Brugerkode") & "'" for du kun den pågældende bruger. Ovenstående antager at brugerkode er tekst, hvis ikke, fjern ' (pinger).

Og så kan du iøvrigt fjerne dit loop, det giver ingen mening hvis du kun skal have fat i en bruger. Med mindre du vil genanvende koden i andre sammenhænge :-)
Avatar billede tblaster Nybegynder
30. maj 2002 - 21:13 #3
Kan du hjælpe med at lave siden der spørge om brugernavn og mail og så rette overstående kode?
Avatar billede tmceu Praktikant
30. maj 2002 - 22:47 #4
Ja, hvilke ting vil du spørge om ?
Avatar billede tblaster Nybegynder
04. juni 2002 - 15:54 #5
Jeg har ændret mening lidt ... siden som kommer op skal bare sprøge om mail adressen og hvis den ligger i databasen skal sen sende en mail med de tilhørende oplysninger som ligger i databasen.
Avatar billede tmceu Praktikant
05. juni 2002 - 01:58 #6
"Spørgesiden"

<FORM ACTION="dinside.asp" METHOD="POST">
<INPUT TYPE="TEXT" NAME="Email">
<INPUT TYPE="SUBMIT" NAME="SUBMIT" VALUE="Submit">
</FORM>


Mailsiden i ASP:



<%

If Request.Form("Email") = "" Then
response.write "Der skal udfyldes en email adresse"
response.end
End If

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 Grupper.Gruppenavn, Bruger.Brugernavn, Bruger.Email, Bruger.Brugerkode, Bruger.Initial, Bruger.Fornavn, Bruger.Efternavn FROM Bruger INNER JOIN Grupper ON Bruger.Gruppenavn = Grupper.GruppeId"
SQL = SQL & " WHERE Bruger.Email ='" & Trim(Request.Form("Email")) & "'"

rsRecordSet.Open SQL, Conn

If not rsRecordSet.EOF

set JMail = server.createobject("JMail.SMTPMail")
JMail.sender = "Thomas@just2funny.dk"
JMail.SenderName = "Webmaster"
JMail.subject = "Login oplysninger til Havneparken 1 Intranet side"
JMail.AddRecipient rsRecordSet("Email")
JMail.ContentType = "text/plain"
JMail.body = "Kære "&rsRecordSet("Fornavn")&" "&rsRecordSet("Efternavn")&" "&VbCrLf&""&VbCrLf&"Dit brugernavn er: "&rsRecordSet("Brugernavn")&""&VbCrLf&"Dit kodeord er: "&rsRecordSet("Brugerkode")&""&VbCrLf&"Gruppenavn: "&rsRecordSet("Gruppenavn")&""&VbCrLf&"Navn: "&rsRecordSet("Fornavn")&" "&rsRecordSet("Efternavn")&""&VbCrLf&"Initial: "&rsRecordSet("Initial")&""&VbCrLf&""&VbCrLf&"
JMail.priority = 1
JMail.maildomain = "mail.just2funny.dk"
JMail.silent = true
JMail.execute
JMail.close()


rsRecordSet.movenext

Else
response.write "Denne email adresse blev ikke fundet"
response.end
End If

rsRecordSet.Close
Conn.Close
Set rsRecordSet = Nothing
Set Conn = Nothing

%>
Avatar billede tblaster Nybegynder
05. juni 2002 - 11:47 #7
Det giver følgende:

Microsoft VBScript compilation error '800a03f9'

Expected 'Then'

/login/send.asp, line 17

If not rsRecordSet.EOF
----------------------^
Avatar billede tmceu Praktikant
05. juni 2002 - 15:21 #8
Ja der manglede lige en "Then", præcis som den skrev :-)

"Spørgesiden"

<FORM ACTION="dinside.asp" METHOD="POST">
<INPUT TYPE="TEXT" NAME="Email">
<INPUT TYPE="SUBMIT" NAME="SUBMIT" VALUE="Submit">
</FORM>


Mailsiden i ASP:



<%

If Request.Form("Email") = "" Then
response.write "Der skal udfyldes en email adresse"
response.end
End If

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 Grupper.Gruppenavn, Bruger.Brugernavn, Bruger.Email, Bruger.Brugerkode, Bruger.Initial, Bruger.Fornavn, Bruger.Efternavn FROM Bruger INNER JOIN Grupper ON Bruger.Gruppenavn = Grupper.GruppeId"
SQL = SQL & " WHERE Bruger.Email ='" & Trim(Request.Form("Email")) & "'"

rsRecordSet.Open SQL, Conn

If not rsRecordSet.EOF Then

set JMail = server.createobject("JMail.SMTPMail")
JMail.sender = "Thomas@just2funny.dk"
JMail.SenderName = "Webmaster"
JMail.subject = "Login oplysninger til Havneparken 1 Intranet side"
JMail.AddRecipient rsRecordSet("Email")
JMail.ContentType = "text/plain"
JMail.body = "Kære "&rsRecordSet("Fornavn")&" "&rsRecordSet("Efternavn")&" "&VbCrLf&""&VbCrLf&"Dit brugernavn er: "&rsRecordSet("Brugernavn")&""&VbCrLf&"Dit kodeord er: "&rsRecordSet("Brugerkode")&""&VbCrLf&"Gruppenavn: "&rsRecordSet("Gruppenavn")&""&VbCrLf&"Navn: "&rsRecordSet("Fornavn")&" "&rsRecordSet("Efternavn")&""&VbCrLf&"Initial: "&rsRecordSet("Initial")&""&VbCrLf&""&VbCrLf&"
JMail.priority = 1
JMail.maildomain = "mail.just2funny.dk"
JMail.silent = true
JMail.execute
JMail.close()


rsRecordSet.movenext

Else
response.write "Denne email adresse blev ikke fundet"
response.end
End If

rsRecordSet.Close
Conn.Close
Set rsRecordSet = Nothing
Set Conn = Nothing

%>
Avatar billede tblaster Nybegynder
05. juni 2002 - 16:28 #9
Det giver følgende:

Microsoft VBScript compilation error '800a0409'

Unterminated string constant

/login/send.asp, line 25

JMail.body = "Kære "&rsRecordSet("Fornavn")&" "&rsRecordSet("Efternavn")&" "&VbCrLf&""&VbCrLf&"Dit brugernavn er: "&rsRecordSet("Brugernavn")&""&VbCrLf&"Dit kodeord er: "&rsRecordSet("Brugerkode")&""&VbCrLf&"Gruppenavn: "&rsRecordSet("Gruppenavn")&""&VbCrLf&"Navn: "&rsRecordSet("Fornavn")&" "&rsRecordSet("Efternavn")&""&VbCrLf&"Initial: "&rsRecordSet("Initial")&""&VbCrLf&""&VbCrLf&"
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------^
Avatar billede tblaster Nybegynder
05. juni 2002 - 16:30 #10
Gelm det bare ... har selv rette det ... tak for hjælpen!
Avatar billede tmceu Praktikant
05. juni 2002 - 16:31 #11
Det var så lidt :-)
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