发新话题
打印

邮件发送类,支持HTML格式,支持优先级设置。通过SOCKET类实现的。问题终于解决了。

邮件发送类,支持HTML格式,支持优先级设置。通过SOCKET类实现的。问题终于解决了。

  using System;
using System.Text;
using System.IO;
using System.Net;
using System.Net.Sockets;

namespace Blood.Com.ClassLib
{         
    /// <summary>
    /// TcpClient派生类,用来进行SMTP服务器的连接工作
    /// </summary>
    public class SMTPClient : TcpClient
    {
        public bool isConnected()
        {
            return Active;
        }

        public void SendCommandToServer(string Command)
        {
            NetworkStream ns = this.GetStream() ;
            byte[]  WriteBuffer ;
            WriteBuffer = new byte[1024] ;
            WriteBuffer = Encoding.Default.GetBytes(Command) ;
            ns.Write(WriteBuffer,0,WriteBuffer.Length);
            return  ;
        }         
        public string GetServerResponse()
        {
            int StreamSize ;
            string ReturnValue = "" ;
            byte[]  ReadBuffer ;
            NetworkStream ns = this.GetStream() ;
            ReadBuffer = new byte[1024] ;
            StreamSize = ns.Read(ReadBuffer,0,ReadBuffer.Length);
            if (StreamSize==0)
            {
                return ReturnValue ;
            }
            else
            {
                ReturnValue = Encoding.Default.GetString(ReadBuffer);
                return  ReturnValue;
            }         
        }

        public bool DoesStringContainSMTPCode(string s,string SMTPCode)
        {
            return(s.IndexOf(SMTPCode,0,10)==-1)?false:true;
        }

    } //结束类

    /// <summary>
    /// 发送邮件类
    /// </summary>
    public class SMTPMail
    {
        /// <summary>
        /// 错误反馈信息
        /// </summary>
        private string strErrMessage = null;

        /// <summary>
        /// SMTP服务器反馈的信息
        /// </summary>
        private string strResponse;

        /// <summary>
        /// 构造函数
        /// </summary>
        public SMTPMail()
        {
            strErrMessage = "";
            strResponse = "";
        }

        /// <summary>
        /// 取得错误反馈信息
        /// </summary>
        public string ErrorMessage
        {
            get
            {
                return strErrMessage ;
            }
        }

        /// <summary>
        /// 取得SMTP服务器反馈的信息
        /// </summary>
        public string ServerResponse
        {
            get
            {
                return strResponse;
            }
        }

        /// <summary>
        /// 邮件发送优先级
        /// </summary>
        public enum Prioritys
        {
            /// <summary>
            /// 最高级别
            /// </summary>
            HIGH = 1,
            /// <summary>

TOP

发新话题