亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > HTML > 正文

支持HTML格式和優先級設置的郵件發送類

2024-08-26 00:15:34
字體:
來源:轉載
供稿:網友
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>
            /// 默認級別
            /// </summary>
            normal = 3,
            /// <summary>
            /// 最低級別
            /// </summary>
            low = 5
        }

        public void sendmail(string smtphost,int port,string from,string displayfromname,string to,string displaytoname,prioritys priority,bool html,string base,string subject,string message)
        {
            try
            {
                string strresponsenumber;
                smtpclient smtpcmail = new smtpclient();
                smtpcmail.connect(smtphost,port);
                bool bolconnect = smtpcmail.isconnected();
                
                //判斷是否進行了連接
                if (!bolconnect)
                {
                    strerrmessage = "smtp服務器連接失敗...";
                    return;
                }
                
                //讀取反饋信息
                strresponsenumber = smtpcmail.getserverresponse();
                if (smtpcmail.doesstringcontainsmtpcode(strresponsenumber,"220"))
                {
                    this.strresponse += strresponsenumber;
                }
                else
                {
                    this.strerrmessage = "連接失敗" + strresponsenumber;
                    return ;
                }
                
                string[] strsendbuffer = new string[6];
                string[] strresponsecode = {"220","250","251","354","221"};   // success codes from smtp server
                
                string strdata = "";
                strdata = string.concat("helo ",smtphost);
                strdata = string.concat(strdata,"/r/n");
                strsendbuffer[0] = strdata  ;
                
                strdata = "";
                strdata = string.concat("mail from: ","<" + from + ">");
                strdata = string.concat(strdata,"/r/n");
                strsendbuffer[1] = strdata;
                
                strdata = "";
                strdata = string.concat("rcpt to: ","<" + to + ">");
                strdata = string.concat(strdata,"/r/n");
                strsendbuffer[2] = strdata;
                
                strdata = "" ;
                strdata = string.concat("data","/r/n");
                strsendbuffer[3] = strdata  ;
                
                strdata = "" ;
                strdata = string.concat("from: ",displayfromname + "<" + from + ">");
                strdata = string.concat(strdata,"/r/n" );
                strdata = string.concat(strdata,"to: " );
                strdata = string.concat(strdata,displaytoname + "<" + to + ">");
                strdata = string.concat(strdata,"/r/n" );
                strdata = string.concat(strdata,"subject: " );
                strdata = string.concat(strdata,subject);
                strdata = string.concat(strdata,"/r/n");
                strdata = string.concat(strdata,"mime-version: 1.0" );
                strdata = string.concat(strdata,"/r/n");
                strdata = string.concat(strdata,"x-priority: " + priority);
                strdata = string.concat(strdata,"/r/n");
                strdata = string.concat(strdata,"x-msmail-priority: " + priority);
                strdata = string.concat(strdata,"/r/n");
                if(html == true)
                {
                    strdata = string.concat(strdata,"content-type: text/html;" );
                }
                else
                {
                    strdata = string.concat(strdata,"content-type: text/plain;" );
                }
                strdata = string.concat(strdata,"/r/n");
                strdata = string.concat(strdata,"charset=/"iso-8859-1/"" );
                strdata = string.concat(strdata,"/r/n");
                if(html == true)
                {
                    strdata = string.concat(strdata,"content-transfer-encoding: text/html;" );
                }
                else
                {
                    strdata = string.concat(strdata,"content-transfer-encoding: text/plain;" );
                }
                strdata = string.concat(strdata,"/r/n");
                strdata = string.concat(strdata,"content-base: /"" + base + "/"" );
                strdata = string.concat(strdata,"/r/n" + "/r/n");
                
                strdata = string.concat(strdata,message);
                strdata = string.concat(strdata,"/r/n./r/n");
                strsendbuffer[4] = strdata;
                
                strdata = "" ;
                strdata = string.concat(strdata,"quit/r/n");
                strsendbuffer[5] = strdata;
                
                int i = 0 ;
                
                while(i < strsendbuffer.length)
                {
                    smtpcmail.sendcommandtoserver(strsendbuffer[i]);
                    strresponsenumber = smtpcmail.getserverresponse();
                    
                    for(int j=0;j<strresponsecode.length;j++)
                    {
                        if (smtpcmail.doesstringcontainsmtpcode(strresponsenumber,strresponsecode[j]))
                        {
                            this.strresponse += strresponsenumber;
                            this.strresponse += "<br>";
                            break;
                        }
                        else
                        {
                            if(j==strresponsecode.length-1)
                            {
                                this.strerrmessage += strresponsenumber;
                                this.strerrmessage += strsendbuffer[i];
                                return;
                            }
                        }
                    }
                    
                    i++ ;
                } // 結束循環
            }
            catch(socketexception err)
            {
                this.strerrmessage += err.message + " " + err.stacktrace;
            }
            catch(exception e)
            {
                this.strerrmessage += e.message + " " + e.stacktrace;
            }
        } //結束郵件發送方法
         
    } // 結束類

} // 結束namespace
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品久久久久久久久| 欧美精品福利视频| 91在线观看免费高清| 最近中文字幕mv在线一区二区三区四区| 国产精品国产自产拍高清av水多| 国a精品视频大全| 精品久久久久久亚洲国产300| 欧美激情精品久久久| 亚洲福利在线播放| 国产精品久久91| 亚洲午夜av久久乱码| 亚洲一区二区三区久久| 欧美激情视频在线免费观看 欧美视频免费一| 成人在线一区二区| 91精品在线影院| 久久国内精品一国内精品| 欧美一区二区三区免费视| 日日狠狠久久偷偷四色综合免费| 国产精品一区二区三| 91国产美女视频| 亚洲免费福利视频| 欧美精品激情在线| 日韩美女视频在线观看| 久久久国产一区| 色偷偷av亚洲男人的天堂| 久久久人成影片一区二区三区观看| 精品久久久久久中文字幕| 国产91久久婷婷一区二区| 中文字幕精品视频| 成人高清视频观看www| 欧美色欧美亚洲高清在线视频| 欧美激情一区二区久久久| 日韩精品中文字幕有码专区| 欧美国产中文字幕| 欧美日韩国产色视频| 在线观看91久久久久久| 欧美亚洲成人精品| 欧美在线xxx| 精品国产欧美一区二区五十路| 日韩av网址在线观看| 欧美xxxx综合视频| 欧美成人激情视频免费观看| 国产视频综合在线| 中文在线不卡视频| 精品国产依人香蕉在线精品| 欧洲午夜精品久久久| 国产精品日本精品| 欧美激情精品久久久久久大尺度| 国产主播在线一区| 欧美日韩亚洲一区二区| 欧美一级视频在线观看| 亚洲一区二区三区视频| 亚洲色图校园春色| 欧美一区二区三区四区在线| 一区二区三区四区在线观看视频| 久久久av一区| 国产精品九九九| 国产成人精品日本亚洲| 成人性生交xxxxx网站| 亚洲电影成人av99爱色| 欧美激情精品久久久久久久变态| 精品偷拍一区二区三区在线看| 亚洲毛片在线免费观看| 亚洲成年网站在线观看| 精品亚洲一区二区三区在线播放| 亚洲欧美国产制服动漫| 日韩hd视频在线观看| 成人精品一区二区三区电影黑人| 亚洲色图第三页| 久久久免费精品视频| 欧美亚洲国产精品| 岛国av一区二区在线在线观看| 97精品久久久| 亚洲精品视频免费| 操人视频在线观看欧美| 亚洲日韩第一页| 国产亚洲精品高潮| 亚洲第一精品久久忘忧草社区| 亚洲欧洲日本专区| 黑人巨大精品欧美一区免费视频| 97国产精品视频| 国模视频一区二区| 欧美尺度大的性做爰视频| 2021国产精品视频| 欧美精品videossex性护士| 亚洲的天堂在线中文字幕| 国产91对白在线播放| 欧美日韩第一页| 97成人精品区在线播放| 日韩av资源在线播放| 九九热精品在线| 国产欧美在线视频| 国产mv免费观看入口亚洲| 欧美俄罗斯性视频| 成人妇女免费播放久久久| 国产欧美最新羞羞视频在线观看| 欧美精品电影在线| 国产热re99久久6国产精品| 国产精品久久久久久久久久久久久久| 亚洲欧美在线播放| 国产福利视频一区二区| 欧美另类69精品久久久久9999| 午夜精品福利在线观看| 日韩专区在线播放| 美女撒尿一区二区三区| 欧美国产一区二区三区| 亚洲电影免费观看| 国产丝袜精品第一页| 最近免费中文字幕视频2019| 久久久国产精品免费| 中文字幕亚洲无线码在线一区| 91国内免费在线视频| 欧美性xxxx极品hd满灌| 久久激情五月丁香伊人| 欧美亚洲视频在线观看| 日韩精品有码在线观看| 日韩欧美999| 欧美另类老女人| 日本高清+成人网在线观看| 18性欧美xxxⅹ性满足| 日韩av电影国产| 色悠久久久久综合先锋影音下载| 国产精品日韩在线| 国产精品九九九| 欧美性精品220| 成人激情免费在线| 欧美日韩午夜激情| 一区二区国产精品视频| 国内免费精品永久在线视频| 国产午夜精品视频免费不卡69堂| 精品国产91久久久久久老师| 亚洲美女精品成人在线视频| 97精品国产97久久久久久春色| 超碰精品一区二区三区乱码| 粉嫩老牛aⅴ一区二区三区| 欧美专区福利在线| 亚洲自拍欧美色图| 在线一区二区日韩| 国产999在线观看| 欧美成人午夜免费视在线看片| 日韩成人在线网站| 91精品国产91久久久久久久久| 亚洲天堂男人的天堂| 日韩高清av一区二区三区| 在线观看国产精品91| 国产精品亚洲第一区| 欧美性高潮床叫视频| 欧美夜福利tv在线| 91亚洲精品久久久久久久久久久久| 精品国产户外野外| 欧美日韩免费观看中文| 国产精品久久久久av| 亚洲精品一区二区在线| 亚洲成av人影院在线观看| 亚洲精品wwww| 在线观看欧美www| 欧美一区三区三区高中清蜜桃| 亚洲人成在线一二| 欧美成人sm免费视频| 色小说视频一区| 国产亚洲精品一区二555| 久久久成人精品| 川上优av一区二区线观看| 成人免费网站在线观看|