26. august 2003 - 15:35Der er
19 kommentarer og 2 løsninger
Automatisk nyhedsbrev.
Kære alle eksperter...
Jeg har nu haft et nyhedsbrev kørende i nogle uger og syntes jeg har fundet nogle mangler ved det.
1) Jeg ved at nede på mit arbejde kan du sende et automatisk nyhedsbrev ud uden at de selv skal gøre noget. Nyhedsbrevet bliver genereret ud fra en side (tror jeg) som hedder mail.asp og så finder serveren selv ud af sende det ud. Jeg har prøvet at eksperimenterer lidt med AddAttachment men har fundet ud af det ikke lige er mig.
Så er mit spørgsmål: Nogen som selv har prøvet eller ved hvordan jeg kan lave et script som selv sende nyhedsbrevet ud plus selv tilføjer de nyheder som er blevet sat på i løbet af ugen?
Er lidt ude på dybt vand med det ASPMail sprog så en grundig forklaring ville være dejlig...
Mvh.
/Jens
P.S. bruger Access database til alle e-mail adresserne
Laver et opslag i databasen og tager nyheden med den nyeste dato. I MS SQL kan du oprette et task, der automatisk kører et script f.eks. hver mandag morgen.
Jamen jeg er ikke helt sikker på hvordan jeg for eksempel trækker en nyhed ud fra en database og skrive den i mailen... Det andet har jeg fundet ud af...
If AspMail.SendMail Then Response.Write "Mail sendt til " & rs("Bruger") & "<br>" Else Response.Write "Der opstod følgende fejl: " & AspMail.Response & "<br>" End If
Ind i e-mail'en? Vi henter jo alle oplysninger fra de to tabeller, som du selvfølgelig også skal have skabt. Men som jeg læser dit spørgsmål, var det ikke det, der er problemet.
Med udgangspunkt i før viste tabeller, trækker vi først de 15 seneste nyheder ud og gemmer dem i variablen "Body". Derefter løber vi hver bruger i gennem og sender vedkommende nyhederne:
Set rs = Conn.Execute("Select Top 15 Dato, Nyhed From Tabel Order By Dato Desc") While Not rs.EOF Body = Body & vbCrlf & vbCrlf & rs("Dato") & vbCrlf & rs("Nyhed") rs.MoveNext Wend
Set rs = Conn.Execute("Select Bruger, Email From Tabel") While Not rs.EOF
Set AspMail = Server.CreateObject("SMTPsvg.Mailer") AspMail.FromName = "Dit navn" AspMail.FromAddress = "din@mailadresse.dk" AspMail.AddRecipient rs("Bruger"), rs("Email") AspMail.Subject = "Nyhed d. " & Dato AspMail.BodyText = "Hej " & rs("Bruger") & "!" & Body
If AspMail.SendMail Then Response.Write "Mail sendt til " & rs("Bruger") & "<br>" Else Response.Write "Der opstod følgende fejl: " & AspMail.Response & "<br>" End If
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.