Avatar billede frank74 Nybegynder
22. juni 2006 - 15:46 Der er 14 kommentarer og
1 løsning

Problemer med ASPmail

Følgende script virker fint nok. Men jeg kunne godt tænke mig at ændre "Mailer.FromAddress" til der står mail adressen på den person der er logget ind. Hvordan kan jeg gøre dette??


strSQL = "Select * From Users Where Admin = 'Superadmin'"
Set rs = Conn.Execute(strSQL)
Do
  Dim Mailer
  Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
  Mailer.FromName  = "blabla"
  Mailer.FromAddress= "Webmaster@blabla.dk")
  Mailer.RemoteHost = "smtp.unoeuro.com"
  Mailer.AddRecipient rs("FirstName") & " " & rs("LastName"), rs("Mail")
  Mailer.Subject    = Request.Form ("subject")
  Mailer.BodyText  = "Hej" & " " & rs("FirstName") & " " & rs("LastName") & vbcrlf & vbcrlf & Request.Form ("message") & vbcrlf & vbcrlf & vbcrlf & vbcrlf & "Du er tilmeldt Blabla's nyhedsbrev. Hvis dette er en fejl eller du ikke vil modtage nyheder fra os mere, skal du blot bruge dette link : " & "http://www.blabla.dk/ADMIN/del_mail.asp?email=" & rs("Mail")
Avatar billede madeindk Nybegynder
22. juni 2006 - 15:57 #1
Har du log ind på din side?
Avatar billede Slettet bruger
22. juni 2006 - 15:57 #2
tjae... har du en kollonne i din database som fx. hedder "Mail"?
- i så fald er det vel bare sådan her:
<%
strSQL = "Select * From Users Where Admin = 'Superadmin'"
Set rs = Conn.Execute(strSQL)
Do
  Dim Mailer
  Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
  Mailer.FromName  = "blabla"
  Mailer.FromAddress= rs("Mail")
  Mailer.RemoteHost = "smtp.unoeuro.com"
  Mailer.AddRecipient rs("FirstName") & " " & rs("LastName"), rs("Mail")
  Mailer.Subject    = Request.Form ("subject")
  Mailer.BodyText  = "Hej" & " " & rs("FirstName") & " " & rs("LastName") & vbcrlf & vbcrlf & Request.Form ("message") & vbcrlf & vbcrlf & vbcrlf & vbcrlf & "Du er tilmeldt Blabla's nyhedsbrev. Hvis dette er en fejl eller du ikke vil modtage nyheder fra os mere, skal du blot bruge dette link : " & "http://www.blabla.dk/ADMIN/del_mail.asp?email=" & rs("Mail")
%>

- eller hvad er det du mener der skal laves om - og hvordan?

\Dan
Avatar billede madeindk Nybegynder
22. juni 2006 - 16:00 #3
Ok - læste ikke helt spørgsmålet. Men du kan vel bare når du en bruger logger ind så gemme vedkommendens mail i en session?

Mail script:

<%
strSQL = "Select * From Users Where Admin = 'Superadmin'"
Set rs = Conn.Execute(strSQL)
Do
  Dim Mailer
  Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
  Mailer.FromName  = "blabla"
  Mailer.FromAddress= session("mail")
  Mailer.RemoteHost = "smtp.unoeuro.com"
  Mailer.AddRecipient rs("FirstName") & " " & rs("LastName"), rs("Mail")
  Mailer.Subject    = Request.Form ("subject")
  Mailer.BodyText  = "Hej" & " " & rs("FirstName") & " " & rs("LastName") & vbcrlf & vbcrlf & Request.Form ("message") & vbcrlf & vbcrlf & vbcrlf & vbcrlf & "Du er tilmeldt Blabla's nyhedsbrev. Hvis dette er en fejl eller du ikke vil modtage nyheder fra os mere, skal du blot bruge dette link : " & "http://www.blabla.dk/ADMIN/del_mail.asp?email=" & rs("Mail")
%>
Avatar billede frank74 Nybegynder
22. juni 2006 - 16:43 #4
Dan -> Jeg har prøvet at bruge rs("Mail") som afsender adresse. Men når mailen bliver sendt ud er det brugerens egen adresse der bliver vist som afsender.
Det jeg mener er nok noget lignende "madeindk" skriver. Det er nemlig brugeren, der er logget ind's adresse der skal bruges som afsender. Men hvordan gemmer jeg vedkommendens mail i en session? Man logger jo på med et brugernavn og ikke en mail adresse...
Avatar billede madeindk Nybegynder
22. juni 2006 - 17:46 #5
Prøv at smid delen af dit log ind scriptet, hvor du gemmer brugernavnet i en session.
Avatar billede Slettet bruger
22. juni 2006 - 17:50 #6
OK! Jeg ville ikke anbefale at gemme brugerens mail-adresse i en session... Men når man logger ind bliver der formentligt oprettet et session("id") eller lignende... og på den måde kan vi finde brugerens mail i databasen også...
noget a la det her:
<%
set mail = Conn.execute("select * from Users where id=" & session("id") & "")
afsender_mail = mail("Mail")
mail.close
set mail=nothing
strSQL = "Select * From Users Where Admin = 'Superadmin'"
Set rs = Conn.Execute(strSQL)
Do
  Dim Mailer
  Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
  Mailer.FromName  = "blabla"
  Mailer.FromAddress= afsender_mail
  Mailer.RemoteHost = "smtp.unoeuro.com"
  Mailer.AddRecipient rs("FirstName") & " " & rs("LastName"), rs("Mail")
  Mailer.Subject    = Request.Form ("subject")
  Mailer.BodyText  = "Hej" & " " & rs("FirstName") & " " & rs("LastName") & vbcrlf & vbcrlf & Request.Form ("message") & vbcrlf & vbcrlf & vbcrlf & vbcrlf & "Du er tilmeldt Blabla's nyhedsbrev. Hvis dette er en fejl eller du ikke vil modtage nyheder fra os mere, skal du blot bruge dette link : " & "http://www.blabla.dk/ADMIN/del_mail.asp?email=" & rs("Mail")
%>

- der er måske nogle ting der skal ændres omkring dette databaseopslag... måske din eksisterende session("id") eller også den tabel vi skal slå det op i...

\Dan
Avatar billede frank74 Nybegynder
22. juni 2006 - 18:49 #7
Ok. Mit script ser lige nu sådan ud ->

<%
Server.ScriptTimeOut = 30
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("../DATABASER/login.mdb")
Conn.Open DSN
set mail = Conn.execute("select * from Users where UserID=" & session("UserID") & "")
afsender_mail = mail("Mail")
mail.close
set mail=nothing
strSQL = "select * FROM Users where Mail='" & Request.Form("Check") & "'"

Set rs = Conn.Execute(strSQL)
Do
  Dim Mailer
  Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
  Mailer.FromName  = "BlaBla"
  Mailer.FromAddress = afsender_mail

Problemet er nu at afsender mailen er den sammen som modtager mailen...
Avatar billede Slettet bruger
22. juni 2006 - 19:06 #8
- OK! Hvad har du så i din addreciepient?
- og er det din modtagermail eller din afsendermail som er den korrekte adresse i den korrekte situation?

\Dan
Avatar billede frank74 Nybegynder
22. juni 2006 - 19:29 #9
Mailer.AddRecipient rs("FirstName") & " " & rs("LastName"), rs("Mail")

Det er modtagermailen der er korrekt.
Avatar billede Slettet bruger
24. juni 2006 - 15:52 #10
hmm... OK!

Hvordan er det så at din afsendermail skal slåes op?
Hvor skal vi finde den henne?

\Dan
Avatar billede frank74 Nybegynder
25. juni 2006 - 15:56 #11
Afsendermailen er mailen på den person der er logget ind. Den mail er gemt i en database. (login.mdb)
Avatar billede Slettet bruger
25. juni 2006 - 17:47 #12
- ok og i
Avatar billede Slettet bruger
25. juni 2006 - 17:49 #13
OK! Og i hvilken tabel i databasen er den gemt? Er det i "Users"?
- hvis det er i "Users" og at id´en på den bruger som er logget ind indeholder din session("UserID") så er det nød til at skulle være sådan her:

set mail = Conn.execute("select * from Users where UserID=" & session("UserID") & "")
afsender_mail = mail("Mail")
mail.close
set mail=nothing

- og så skal du sætte Mailer.FromAddress til afsender_mail

\Dan
Avatar billede frank74 Nybegynder
27. juni 2006 - 14:05 #14
Ved ikke lige hvad der er gået galt... Det script jeg skrev d. 22/06-2006 18:49:17 virker fint. Så tak for hjælpen Dan. ;-)
Smid et svar og tjek eventuelt mit næste spørgsmål som omhandler det samme script.

http://www.eksperten.dk/spm/717849
Avatar billede Slettet bruger
27. juni 2006 - 14:21 #15
hmm... OK!

- her et svar så...

\Dan
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