特點: 1. 支持SMTP驗證 2. 支持群發功能 3. 支持各種免費郵箱,如sohu,163等 4. 支持Win2k Server自帶的smtp服務器,即只要你聯網,配置好smtp服務器,即可本機發郵件 5. 完整的錯誤代碼,擁有Logs和HTMLlogs兩個日志功能,可以輸出詳細的服務器--客戶端交互日志 代碼如下: ---------------------------------------------- using System; using System.Text; using System.IO; using System.Net; using System.Net.Sockets; using System.Collections;
namespace Sanxing.Mail.Data { public class ESmtpMail {
//內部變量 /// <summary> /// 設置換行變量 /// </summary> private string enter="\r\n"; /// <summary> /// 設定語言代碼,默認設定為GB2312,如不需要可設置為"" /// </summary> private string Charset="GB2312";
/// <summary> /// 發件人地址 /// </summary> private string From=""; /// <summary> /// 發件人姓名 /// </summary> private string FromName=""; /// <summary> /// 回復郵件地址 /// </summary> //public string ReplyTo=""; /// <summary> /// 收件人姓名 /// </summary> private string RecipientName=""; /// <summary> /// 收件人列表 /// </summary> private Hashtable Recipient=new Hashtable(); /// <summary> /// 郵件服務器域名 /// </summary> private string mailserver="";
/// <summary> /// 郵件服務器端口號 /// </summary> private int mailserverport=25;
/// <summary> /// SMTP認證時使用的用戶名 /// </summary> private string username=""; /// <summary> /// SMTP認證時使用的密碼 /// </summary> private string password="";
/// <summary> /// 是否需要SMTP驗證 /// </summary> private bool ESmtp=false; /// <summary> /// 是否Html郵件 /// </summary> private bool Html=false; /// <summary> /// 郵件附件列表 /// </summary> private System.Collections.ArrayList Attachments;
/// <summary> /// 郵件發送優先級,可設置為"High","Normal","Low"或"1","3","5" /// </summary> private string priority="Normal";
/// <summary> /// 郵件主題 /// </summary> private string Subject="";
/// <summary> /// 郵件正文 /// </summary> private string Body=""; /// <summary> /// 收件人數量 /// </summary> private int RecipientNum=0; /// <summary> /// 最多收件人數量 /// </summary> private int recipientmaxnum=1;
/// <summary> /// 密件收件人數量 /// </summary> //private int RecipientBCCNum=0; /// <summary> /// 錯誤消息反饋 /// </summary> private string errmsg; /// <summary> /// TcpClient對象,用于連接服務器 /// </summary> private TcpClient tc;
/// <summary> /// NetworkStream對象 /// </summary> private NetworkStream ns;
/// <summary> /// SMTP錯誤代碼哈希表 /// </summary> private Hashtable ErrCodeHT = new Hashtable();
/// <summary> /// SMTP正確代碼哈希表 /// </summary> private Hashtable RightCodeHT = new Hashtable();
/// <summary> /// 服務器交互記錄 /// </summary> private string logs="";
///<summary> ///HTML格式的服務器交互記錄 ///</summary> private string htmllog="";
------------------------------------- 代碼第一部分完畢
|