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