Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Simple Windows Service which sends auto Email alerts

0.00/5 (No votes)
16 Nov 2006 2  
Sending Email alerts to your friends saying Good Day

Introduction                                                 

   Sample screenshot Download sourcecode

 Hi,                                                                                  

  This is Ravindra, Implemented a windows service in one of my project and like to place a

 sample Windows service for the very Basic users of .Net.

     First Create a table in Msaccess with Name  'Empdata'

       Sample screenshot


 1.Open Visual Studio.net > Select New Project 

              Sample screenshot


     2.Select Windows Service and give Name as 'GoodDay' and Click Ok.


     3.Right Click the Design and Select Properties and give the Name and ServiceName as 

        'GoodDay' and set AutoLog to 'True'


     4.Drag and drop the OleDbConnection and Select its properties and change its name to

        'conn' and provide the connection String(I provided the Database sample(Ms

         Access)) along with this code.


     5.Right Click the Design and select View Code and

        Select Project > Add Reference > Select System.Web >Press Ok


     6.Now add the following to your code         

          using System.Web.Mail;

          using System.Data.OleDb;


     7.Declare DateTime mdt=DateTime.Now;


     8.    In static void Main()

         Edit the following Code

        ServicesToRun = new System.ServiceProcess.ServiceBase[] { new GoodDay() };


     9. Edit the following code in onstart()

        

DataSet ds = new DataSet();

protected override void OnStart(string[] args)

{

DateTime dt=DateTime.Now;

conn.Open();

OleDbDataAdapter da=new OleDbDataAdapter("select * from Empdata",conn);

da.Fill(ds);

if(dt.ToShortDateString()==mdt.ToShortDateString())

{

foreach(DataRow dr in ds.Tables[0].Rows)

{

mdt=DateTime.Now.AddDays(+1);

String mailtxt="";

MailMessage mm = new MailMessage();

mm.BodyFormat = MailFormat.Html;

mm.To = dr["emp_email"].ToString();

mm.From = "xyz@xyz.com";

mm.Subject="Good Day";

mailtxt = "<font face='verdana' color='#FF9900'><b>"+"Hi "+dr["emp_name"].ToString()+"," + "</b></font><br><br>";

mailtxt=mailtxt+"<font face='verdana' color='#FF0000'><b>"+"Good Day." + "</b></font><br><br>";

mailtxt=mailtxt+"<font face='verdana' color='#008080'><b>"+"May today be filled with sunshine and smile, laughter and love." + "</b></font><br><br>";

mailtxt=mailtxt+"<font face='verdana' color='#0000FF'><b>Cheers!" + "<br><br>";

mm.Body = mailtxt;

SmtpMail.SmtpServer="localhost";

SmtpMail.Send(mm);

}

}

}


10.Go to Design,right click and Select Add Installer ,you will notice two controls

     serviceProcessInstaller1,serviceInstaller1


11.Select  serviceProcessInstaller1 and go to its properties and change the Account

      type to 'Local System'


12. Select  serviceInstaller1 and go to its properties and change DisplayName and

      ServiceName to 'GoodDay' and make the StartType to 'Automatic'


13.Build the Solution(Cntrl+Shift+B)


14.Open the Visual Studio .Net Command Prompt and give the path of application

     for example C:\bin\Debug and then type InstallUtil GoodDay.exe
                

     to uninstall,  InstallUtil    /u GoodDay.exe         

 Sample screenshot

      


15. After Installation ,right click My Computer and

       Select 'Manage'

       and Select 'Service and Applications'

       and in that Select 'Services'

Select 'GoodDay' and start the Service.

                                     All the Best...................

Special thanks to Phani Kumar,Hyd.

                                                                             With Regards,

                                                                          Ravindra Donkada

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here