Solved

Schedule ASP Script

Posted on 2004-10-07
8
314 Views
Last Modified: 2012-06-22
i want to create a script in ASP which will run automatically at a particular time, daily and check the Delivery date in access database. Before 3 days of  Delivery date  i want to send E-mail Automatically. Email information, Receiptent name are comming from data base.
0
Comment
Question by:apurvkansal
8 Comments
 

Author Comment

by:apurvkansal
Comment Utility
i want to it urgent.
0
 
LVL 14

Expert Comment

by:Thandava Vallepalli
Comment Utility
create a  .vba file....  make it schedule using  windows scheduler....

same asp code you can copy and paste it in  .vba file....

itsvtk
0
 
LVL 14

Accepted Solution

by:
Thandava Vallepalli earned 168 total points
Comment Utility
0
 
LVL 15

Assisted Solution

by:justinbillig
justinbillig earned 166 total points
Comment Utility
or you could schedule a VB exe, either way works
0
 

Assisted Solution

by:MinakiSerinde
MinakiSerinde earned 166 total points
Comment Utility
' Database connection string. Could be an ODBC Data Source Name called yourdns or whatever, or you could write it manually
Const DB_CONNECTION_STRING = "dsn=yourdsn;"

' SQL SELECT statement that pulls whichever record you want to go by from the DB
Const SQL_SELECT_STATEMENT = "SELECT * FROM YourTable"

' Mail Details
Const MAIL_SERVER_ADDRESS = "127.0.0.1"
Const MAIL_FROM = "you@yourdomain.com"
Const MAIL_SUBJECT = "Your Message Subject"
Const MAIL_BODY = "Your Message Body"

Set objRecordset = CreateObject("ADODB.Recordset")
objRecordset.ActiveConnection = DB_CONNECTION_STRING
objRecordset.Source = SQL_SELECT_STATEMENT
objRecordset.CursorType = 0
objRecordset.CursorLocation = 2
objRecordset.LockType = 1
objRecordset.Open()

' Change this line according to what the field containing your recipient is
strMailTo = objRecordset.Fields.Item("EMail").Value

' Change this according to the Date field in your DB
myDate = objRecordset.Fields.Item("Date").Value

Set objRecordset = Nothing

If DateDiff("d", Now, myDate) < 3 then

      Set objCDOSYSMail = CreateObject("CDO.Message")
      Set objCDOSYSCon = CreateObject ("CDO.Configuration")

      objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = MAIL_SERVER_ADDRESS
      objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
      objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
      objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
      objCDOSYSCon.Fields.Update
      
      Set objCDOSYSMail.Configuration = objCDOSYSCon
      objCDOSYSMail.From = MAIL_FROM
      objCDOSYSMail.To = strMailTo
      objCDOSYSMail.Subject = MAIL_SUBJECT
      objCDOSYSMail.HTMLBody = MAIL_BODY
      objCDOSYSMail.Send
      
      Set objCDOSYSMail = Nothing
      Set objCDOSYSCon = Nothing
End If


Copy the above code and paste into Notepad. Save it with a .vbs extension, and change all the bits that are commented to be changed, depending on your setup.

You can then use the AT command, windows sheduler, or any third party scheduling program to run the script on the specified day/time. It's a lot more robust than runninng it from a scheduled ASP page.

Note: You will need Windows Scripting Host installed. It's free from Microsoft and you'll probably have it already.

Note2: I havn't fully tested the code, it might need some messing.
0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

I would like to start this tip/trick by saying Thank You, to all who said that this could not be done, as it forced me to make sure that it could be accomplished. :) To start, I want to make sure everyone understands the importance of utilizing p…
Have you ever needed to get an ASP script to wait for a while? I have, just to let something else happen. Or in my case, to allow other stuff to happen while I was murdering my MySQL database with an update. The Original Issue This was written…
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.
You have products, that come in variants and want to set different prices for them? Watch this micro tutorial that describes how to configure prices for Magento super attributes. Assigning simple products to configurable: We assigned simple products…

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now