自動メールのWindowsサービスソリューション

6747 ワード

先日、ある友人から、ローカルでデータを取得した後、指定された時刻にターゲットメールボックスにメールを送信するプログラムを書くように聞かれました.ほほほ、私も菜鸟で、书くのがよくなくて、どうぞよろしくお愿いします、ありがとうございます.
Windowsサービスを構築し、指定された時点で、プロファイルから送信者情報(SMTPアドレス、ユーザー名、パスワードなどを含む)を読み出し、メールのタイトルと内容を定義して送信できます.もちろん、このWindowsサービスをインストールし、自動的に起動するように構成する必要があります.
-------------------------------------
ソースコードのダウンロードはここをクリックしてください
-------------------------------------
では、次にWindowsサービスを構築します(TImerコントロールでタイミングリフレッシュを制御します):
 
using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Diagnostics;

using System.ServiceProcess;

using System.Text;

using System.Net.Mail;

using System.Net;

using System.Configuration;



namespace MailServer

{

    public partial class Service1 : ServiceBase

    {

        public Service1()

        {

            InitializeComponent();

        }



        protected override void OnStart(string[] args)

        {

            //          

            while (DateTime.Now.Second % 2 == 0)

            {

                //       

                SmtpClient client = new SmtpClient(

                    ConfigurationManager.AppSettings["smtpClient"],

                    int.Parse(ConfigurationManager.AppSettings["smtpProt"]));



                //             

                client.Credentials = new NetworkCredential(

                    ConfigurationManager.AppSettings["from_address"],

                    ConfigurationManager.AppSettings["from_password"]);



                //           

                MailMessage mail = new MailMessage(

                    new MailAddress(ConfigurationManager.AppSettings["from_address"], ConfigurationManager.AppSettings["from_displayName"]),

                    new MailAddress(ConfigurationManager.AppSettings["to_address"], ConfigurationManager.AppSettings["to_displayName"]));



                //      

                mail.Subject = "    [" + DateTime.Now.ToString() + "]";

                //      

                mail.Body = Guid.NewGuid().ToString();



                //    

                client.Send(mail);



            }

        }



        protected override void OnStop()

        {

            // TODO:                      。

           

        }

    }

}
 
-------------------
<?xml version="1.0" encoding="utf-8" ?>

<configuration>

  <appSettings>

    <add key="smtpClient" value="smtp.126.com"/>

    <add key="smtpProt" value="25"/>

    <add key="from_address" value="          :[email protected]"/>

    <add key="from_displayName" value="Mr.Yang"/>

    <add key="from_password" value="         "/>

    <add key="to_address" value="[email protected]"/>

    <add key="to_displayName" value="**  "/>

  </appSettings>

</configuration>

-------------------------------------

ここ

-------------------------------------





Windowsサービスインストーラを作成するには、「ttp://www.cnblogs.com/tuyile006/archive/2006/11/27/573654.html」を参照してください.