Click here to Skip to main content
16,018,818 members
Articles / Programming Languages / C#
Article

Simple Windows Service which sends auto Email alerts

Rate me:
Please Sign up or sign in to vote.
2.67/5 (25 votes)
15 Nov 2006CPOL2 min read 166.3K   6.4K   38   20
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, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Web Developer
India India
Hi,
I am Ravindra, working as a .net programmer

Comments and Discussions

 
QuestionConnect to Oracle Pin
Member 1475608528-Feb-20 2:34
Member 1475608528-Feb-20 2:34 
QuestionWeb.Mail is not a Name Space to send the mail Pin
Aniket Sharma0226-Dec-13 6:45
Aniket Sharma0226-Dec-13 6:45 
Questionget fail message when i am starting the service Pin
Member 950095418-Sep-13 5:27
Member 950095418-Sep-13 5:27 
AnswerRe: get fail message when i am starting the service Pin
Member 128759036-Dec-16 20:30
Member 128759036-Dec-16 20:30 
QuestionHow can turn this service to execute weekly. Pin
Sumaira Butt12-Sep-12 21:23
Sumaira Butt12-Sep-12 21:23 
GeneralMy vote of 4 Pin
vsanju14-Mar-12 1:54
vsanju14-Mar-12 1:54 
GeneralMy vote of 5 Pin
Sridhar Patnayak10-Jan-12 17:09
professionalSridhar Patnayak10-Jan-12 17:09 
Questionone problem Pin
bhavinvaishnav117-Jul-11 21:15
bhavinvaishnav117-Jul-11 21:15 
QuestionRunning so nice.I need one more help Pin
praveena.karthi17-Jul-11 16:52
praveena.karthi17-Jul-11 16:52 
Generalvery helpful Pin
atiaInam23-Jun-09 21:41
atiaInam23-Jun-09 21:41 
QuestionHow to Use this service in Web Application Pin
Malli.b3-Jan-08 0:25
Malli.b3-Jan-08 0:25 
Generalservice started mails send the next day onwords it is not sending mails Pin
HKum26-Oct-07 10:29
HKum26-Oct-07 10:29 
QuestionRunning this on the server Pin
EvoRich21-May-07 9:47
EvoRich21-May-07 9:47 
Questionnot working Pin
kgeethasen27-Dec-06 22:53
kgeethasen27-Dec-06 22:53 
Questionmail sending delayed till service stop Pin
Seishin#19-Dec-06 3:19
Seishin#19-Dec-06 3:19 
AnswerRe: mail sending delayed till service stop Pin
Seishin#19-Dec-06 3:45
Seishin#19-Dec-06 3:45 
QuestionRe: mail sending delayed till service stop Pin
Seishin#19-Dec-06 21:25
Seishin#19-Dec-06 21:25 
GeneralImages missing Pin
Zoltan Balazs11-Nov-06 4:29
Zoltan Balazs11-Nov-06 4:29 
AnswerRe: Images missing Pin
ravindradonkada17-Nov-06 20:39
ravindradonkada17-Nov-06 20:39 
Questionsome problem Pin
accessred2-Jan-08 3:50
accessred2-Jan-08 3:50 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.