Avatar billede nettrain Nybegynder
25. maj 2004 - 14:39 Der er 9 kommentarer og
1 løsning

Afsende mail samtidig med skriving til database

Er det på nogen måde muligt via Jmail at sende en mail til en bestemt email adresse samtidig med der bliver skrevet i databasen?

Eks.: En bruger skriver et indlæg i en gæstebog, og idet brugeren subimtter formen, bliver der sent en mail til administartoren om at der er kommet et indlæg.
Avatar billede nettrain Nybegynder
25. maj 2004 - 14:40 #1
Hvis ja, hvordan selfølgelig... :D
Avatar billede fennec Nybegynder
25. maj 2004 - 14:52 #2
Bare send en mail efter der er indsat i databasen.

conn.execute("insert into DinTabel(xxx, yyy, zzz osv....) values('','','' osv...)")
Message.From = "Fra@adresse.dk"
Message.Subject = "Gæstebog"
Message.Body = "Der er nye indlæg."
Message.AddRecipient "til@adresse.dk",""
if not Message.Send( "Din.Mailserver.dk" ) then
  errTekst = "<span style=""color:red"">Der skete en fejl under afsendelse.</span>"
end if
Avatar billede fennec Nybegynder
25. maj 2004 - 14:53 #3
Manglede lige en:

set Message = Server.CreateObject("JMail.Message")
Avatar billede nettrain Nybegynder
25. maj 2004 - 15:36 #4
Hvor skal det lige sætte ind det der?

Bruger rs sætninger til at skrive til databasen:

rs.AddNew
      rs("navn") = replace( replace( Request.form("navn"),"<","&lt;"), ">", "&gt;")
      rs("email") = replace( replace( Request.form("email"),"<","&lt;"), ">", "&gt;")
      rs("url") = replace( replace( Request.form("url"),"<","&lt;"), ">", "&gt;")

Det ahr måske ik noget med dem at gøre?
Avatar billede fennec Nybegynder
25. maj 2004 - 15:50 #5
du kunne evt indsætte det sådan:

set Message = Server.CreateObject("JMail.Message")
Message.From = "Fra@adresse.dk"
Message.Subject = "Gæstebog"
Message.Body = "Der er nye indlæg."
Message.AddRecipient "til@adresse.dk",""
if not Message.Send( "Din.Mailserver.dk" ) then
  errTekst = "<span style=""color:red"">Der skete en fejl under afsendelse.</span>"
end if
rs.AddNew
      rs("navn") = replace( replace( Request.form("navn"),"<","&lt;"), ">", "&gt;")
      rs("email") = replace( replace( Request.form("email"),"<","&lt;"), ">", "&gt;")
      rs("url") = replace( replace( Request.form("url"),"<","&lt;"), ">", "&gt;")

Så sender du mailen før det bliver indsat, men du kunne også bytte om på rækkefølgen, så du sender mailen efter det er indsat.

rs.AddNew
      rs("navn") = replace( replace( Request.form("navn"),"<","&lt;"), ">", "&gt;")
      rs("email") = replace( replace( Request.form("email"),"<","&lt;"), ">", "&gt;")
      rs("url") = replace( replace( Request.form("url"),"<","&lt;"), ">", "&gt;")
set Message = Server.CreateObject("JMail.Message")
Message.From = "Fra@adresse.dk"
Message.Subject = "Gæstebog"
Message.Body = "Der er nye indlæg."
Message.AddRecipient "til@adresse.dk",""
if not Message.Send( "Din.Mailserver.dk" ) then
  errTekst = "<span style=""color:red"">Der skete en fejl under afsendelse.</span>"
end if

uanset hvordan du gør, giver det samme resultat.

Afsendelse af mail og indsættelse i databasen har intet med hinanden at gøre. Hvis du vil sende en mail når man indsætter i databasen skal du bare "gøre det". Der er kode som indsætter og kode som sender mail. De linjer skal bare køres. For at forvire dig endnu mere kunne koden også se sådan ud:

set Message = Server.CreateObject("JMail.Message")
rs.AddNew
Message.From = "Fra@adresse.dk"
      rs("navn") = replace( replace( Request.form("navn"),"<","&lt;"), ">", "&gt;")
Message.Subject = "Gæstebog"
      rs("email") = replace( replace( Request.form("email"),"<","&lt;"), ">", "&gt;")
Message.Body = "Der er nye indlæg."
      rs("url") = replace( replace( Request.form("url"),"<","&lt;"), ">", "&gt;")
Message.AddRecipient "til@adresse.dk",""
if not Message.Send( "Din.Mailserver.dk" ) then
  errTekst = "<span style=""color:red"">Der skete en fejl under afsendelse.</span>"
end if
Avatar billede fennec Nybegynder
25. maj 2004 - 15:52 #6
Jeg vil ikke anbefale at bruge den sidste. Det var bare for at vise at linjerne også kan blandes sammen.
Avatar billede nettrain Nybegynder
25. maj 2004 - 15:58 #7
Hehe aah jæs har fattet princippet nu... er lige i gang med at teste... ;)
Avatar billede nettrain Nybegynder
25. maj 2004 - 16:03 #8
Er der nogen bestemt grund til if sætningen til slut?? Hvad skulle der være af fejl?
Avatar billede nettrain Nybegynder
25. maj 2004 - 16:30 #9
Nu virker det vidst... satte godt nok det her ind istedet:

Set JMail = Server.CreateObject("JMail.SMTPMail")
  JMail.ServerAddress = "min.server.dk"
  JMail.sender = "min@mail.dk"
  JMail.subject = "Nyt indlæg i din gæstebog"
  JMail.AddRecipient "min@mail.dk"
  JMail.Body = "Der er kommet et nyt indlæg i din gæstebog!"
  JMail.Priority = 3
  JMail.Execute
Avatar billede fennec Nybegynder
26. maj 2004 - 08:04 #10
så siger jeg tak for point.
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