30. maj 2002 - 12:31Der er
26 kommentarer og 1 løsning
Reminder på email
Hejsa eksperter!
Jeg er ved at lave en fuktion der sender mails ud på et bestemt tidspunkt! denne fuktion skal arbejde sammen med en database der har følgende felter:
send = hvilken dato mailen skal sendes på tidsp = hvilket tidspunkt mailen skal sendes på kommentar = indhold i mailen
hvordan kan man med enten aspmail eller jmail få den til at sende på en bestem dato?? jeg har ledt overalt på nettet for at finde en løsning - men er stadig helt blank.. håber der er nogle der kan hjælpe da jeg skal bruge denne fuktion til min afgangseksamen
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
andersasp> Det kræver jo at du har en service kørende på serveren der hele tiden tjekker din database for forekomster af aktuel dato og aktuel tidspunkt. Og hvis du har valgfrit tidspunkt, så skal den jo tjekke hvert minut !
Jeg er stadig desværre lidt rusten i mail, men hvis jeg har et script der sender mailen - kan der så indsættes yderligere kode således den hele tiden checkker og sender mails hvis tidspunktet passer!
' --> Her hentes felter fra form siden ' Body = vbCrLf & vbTab & "´reminder" &_ vbCrLf & vbTab & "kommentar : " & Request.Form("kommentar") &_ vbCrLf & vbTab & "att : " & Request.Form("tidsp")
If Day(Date()) = Day(" & objRs("send") & ") And Month(" & objRs("send") & ") Then Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db.mdb") strSQL = "SELECT * FROM tabel" Set objRs = objConn.Execute(strSQL) While Not objRs.EOF Set JMail = Server.CreateObject("JMail.SMTPMail") JMail.ServerAddress = "websmtp.server.dk" ' mail config settings JMail.Charset = "iso-8859-1" JMail.ContentTransferEncoding = "8bit" JMail.Sender = "mail@mail.dk" JMail.SenderName = "reminder" JMail.Subject = request("tidsp") JMail.AddRecipient "anders@smz.dk" JMail.Body = Body ' 1 - highest priority (Urgent) ' 3 - normal ' 5 - lowest JMail.Priority = 1 ' Send it... On Error Resume Next JMail.execute if err <> 0 then Response.Write("Der er opstået en fejl, kontakt webmasteren.... ") end if set JMail = nothing objRs.MoveNext() Wend End If
I må lige undskylde hvis jeg ikke har formuleret mig særlig forståeligt!
Men det den skal gøre er at, sende en mail til mig på bestemte tidspunkter:
30-05-2002 - skal sendes idag 31-05-2002 - skal sendes imorgen osv.
det skal dog være således at hvis jeg vælger at skrive en email idag og udfylder "send" til at være 01-01-2004 skal mailen automatisk sendes d. 01-01-2002
' --> Her hentes felter fra form siden ' Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db.mdb") strSQL = "SELECT * FROM tabel" Set objRsSend = objConn.Execute(strSQL)
If Day(Date()) = Day(" & objRsSend("send") & ") And Month(" & objRs("send") & ") Then strSQL = "SELECT * FROM tabel WHERE send=#" & objRsSend("send") & "#" Set objRsSend = objConn.Execute(strSQL) Set JMail = Server.CreateObject("JMail.SMTPMail") JMail.ServerAddress = "websmtp.server.dk" ' mail config settings JMail.Charset = "iso-8859-1" JMail.ContentTransferEncoding = "8bit" JMail.Sender = "mail@mail.dk" JMail.SenderName = "reminder" JMail.Subject = request("tidsp") JMail.AddRecipient "anders@smz.dk" JMail.Body = Body ' 1 - highest priority (Urgent) ' 3 - normal ' 5 - lowest JMail.Priority = 1 ' Send it... On Error Resume Next JMail.execute if err <> 0 then Response.Write("Der er opstået en fejl, kontakt webmasteren.... ") end if set JMail = nothing End If
medions > jeps du er inde på det rigtige. MEn er det ikke indholdet fra database recorden der skal sendes. Og ikke form indholdet. Jeg kan i det hele taget ikke se hvad formen har med det at gøre. Den skal vel bare gemme indholdet i DB'en med en dato, tidspunkt og tekstindhold !
Scriptet skal finde de mails der skal sendes ! Så din sql string er korrekt, mailindholdet er ikke !
Sorry - det er mig er tåger! alle request.form objecter skal fjernes - således den kun kigger i databasen frem for formen! det den egentlig bare skal gøre er at kigge i databasen, ognår datoen skal den sende mailen afsten!
' --> Her hentes felter fra form siden ' Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db.mdb") strSQL = "SELECT * FROM tabel" Set objRsSend = objConn.Execute(strSQL)
If Day(Date()) = Day(" & objRsSend("send") & ") And Month(" & objRs("send") & ") = Month(Date()) And Hour(objRsSend("tidsp") = Hour(Now()) Then strSQL = "SELECT * FROM tabel WHERE send=#" & objRsSend("send") & "#" Set objRs = objConn.Execute(strSQL) Set JMail = Server.CreateObject("JMail.SMTPMail") JMail.ServerAddress = "websmtp.server.dk" ' mail config settings JMail.Charset = "iso-8859-1" JMail.ContentTransferEncoding = "8bit" JMail.Sender = "mail@mail.dk" JMail.SenderName = "reminder" JMail.Subject = objRs("tidsp") JMail.AddRecipient "anders@smz.dk" JMail.Body = objRs("kommentar") ' 1 - highest priority (Urgent) ' 3 - normal ' 5 - lowest JMail.Priority = 1 ' Send it... On Error Resume Next JMail.execute if err <> 0 then Response.Write("Der er opstået en fejl, kontakt webmasteren.... ") end if set JMail = nothing End If
det ser rigtig fornuftigt ud! mit sidste spørgsmål er dog, hvis scriptet ender med response.redirect "../index.asp" - vil det så blive ved med at checkke om der skal sendes flere mails?? eller der det mig der har misforstået noget?
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.