自動發郵件的Windows服務解決方案

來源:互聯網
上載者:User

前陣子有位朋友問我,要寫一個程式,在本地擷取資料後,在指定時刻向目標郵箱發送郵件,現有如下解決方案,可供參考。呵呵,我也是個菜鳥,寫得不好,請多指教,謝謝。

構建一個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="請輸入你的郵箱地址如:ivwjqrhome@126.com"/>    <add key="from_displayName" value="Mr.Yang"/>    <add key="from_password" value="請輸入你的郵箱密碼"/>    <add key="to_address" value="ivwjqrhome@126.com"/>    <add key="to_displayName" value="**先生"/>  </appSettings></configuration>

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

源碼下載請點 這裡

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




製作Windows服務安裝程式請參考:ttp://www.cnblogs.com/tuyile006/archive/2006/11/27/573654.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.