ส่ง Auto Notification โดยใช้ Windows Service

บริการ Microsoft Windows NT, ช่วยให้คุณสามารถสร้างโปรแกรมประยุกต์ที่ปฏิบัติการยาวทำงานที่ทำงานในช่วงของ Windows ของตัวเอง บริการเหล่านี้สามารถเริ่มต้นโดยอัตโนมัติเมื่อบูทเครื่องคอมพิวเตอร์ที่สามารถหยุดและเริ่มต้นใหม่และไม่ได้แสดงให้เห็นส่วนติดต่อผู้ใช้ใด ๆ คุณสมบัติเหล่านี้ทำให้บริการที่เหมาะสำหรับการใช้งานบนเซิร์ฟเวอร์หรือเมื่อใดก็ตามที่คุณจำเป็นต้องทำงานยาวทำงานที่ไม่ได้ยุ่งเกี่ยวกับผู้ใช้อื่นที่กำลังทำงานบนคอมพิวเตอร์เครื่องเดียวกัน

บริการ Windows ถูกสร้างขึ้นโดยใช้เครื่องมือในการพัฒนาเช่น Microsoft Visual Studio หรือ Embarcadero Delphi เพื่อที่จะให้บริการ Windows โปรแกรมจะต้องมีการเขียนในลักษณะที่จะสามารถจัดการกับการเริ่มต้นหยุดและหยุดข้อความจากตัวจัดการควบคุมบริการ บริการจัดการควบคุมเป็นส่วนประกอบของ Windows ที่เป็นผู้รับผิดชอบสำหรับการเริ่มต้นและหยุดบริการ

  • Open Visual Studio
  • Go to file->new->project
  • Select Windows service
  • Right click on Service1.cs and select properties
  • In the properties window, click on add Installerhttptheintelligenceproject.com19
  • Right click on serviceInstaller1, select properties
  • Change DisplayNameServiceName to SeraMailService
  • StartType to Automatic

theintelligenceproject20

 

  • Right click on serviceProcessInstaller1 then select Properties
  • Change Account to LocalSystem
  • Right click on Service1.cs Design select ViewCode

theintelligenceproject21

 

n the OnStart method :

public void GetMail(object sender, System.Timers.ElapsedEventArgs args)
        {
            NetworkCredential cred = new NetworkCredential("email@lafarge.com", "Password");
            MailMessage msg = new MailMessage();
            msg.To.Add("email@apsissolutions.com");
            msg.Subject = "Welcome JUBAYER";

            msg.Body = "You Have Successfully Entered to Sera's World!!!";
            msg.From = new MailAddress("email@apsissolutions.com"); // Your Email Id
            SmtpClient client = new SmtpClient("smtp.gmail.com", 587);
            SmtpClient client1 = new SmtpClient("smtp.mail.yahoo.com", 465);
            client.Credentials = cred;
            client.EnableSsl = true;
            client.Send(msg);
        }


Add this line before onload method:
System.Timers.Timer createOrderTimer;


In the onStart method, type this code:
createOrderTimer = new System.Timers.Timer();
createOrderTimer.Elapsed += new System.Timers.ElapsedEventHandler(GetMail);
createOrderTimer.Interval = 180000;//Set Three minutes intervals
createOrderTimer.Enabled = true;
createOrderTimer.AutoReset = true;
createOrderTimer.Start();



The full code:

System.Timers.Timer createOrderTimer;

        public Service1()
        {
            InitializeComponent();
        }

        protected override void OnStart(string[] args)
        {
            createOrderTimer = new System.Timers.Timer();
            createOrderTimer.Elapsed += new System.Timers.ElapsedEventHandler(GetMail);
            createOrderTimer.Interval = 500;
            createOrderTimer.Enabled = true;
            createOrderTimer.AutoReset = true;
            createOrderTimer.Start();           
        }

        public void GetMail(object sender, System.Timers.ElapsedEventArgs args)
        {
            NetworkCredential cred = new NetworkCredential("email@lafarge.com", "Password");
            MailMessage msg = new MailMessage();
            msg.To.Add("email@apsissolutions.com");
            msg.Subject = "Welcome JUBAYER";

            msg.Body = "You Have Successfully Entered to Sera's World!!!";
            msg.From = new MailAddress("email@apsissolutions.com"); // Your Email Id
            SmtpClient client = new SmtpClient("smtp.gmail.com", 587);
            SmtpClient client1 = new SmtpClient("smtp.mail.yahoo.com", 465);
            client.Credentials = cred;
            client.EnableSsl = true;
            client.Send(msg);
        }

Leave a Reply