当前位置:编程学习 > C#/ASP.NET >>

用C#电子邮件验证的类

答案:     /*
   电子邮件验证
   Windows2000 、Microsoft.NET Beta2、C#
   Made By Qingming Zhao
   Email: zqm2000@126.com
   2002,2,17
   csc /target:library ValideEmail.cs
  */
  using System;
  using System.Net.Sockets;
  using System.IO;
  using System.Text;
  namespace BysWangZhan
  {
   class ValidateEmail //电子邮件验证
   {
   public string strEmail;
   public string strServer;
   public int intPort;
   string Email
   {
   set
   {
   strEmail=value;
   }
   get
   {
   return strEmail;
   }
   }
   string Server
   {
   set
   {
   strServer=value;
   }
   get
   {
   return strServer;
   }
   }
   int Port
   {
   set
   {
   intPort=value;
   }
   get
   {
   return intPort;
   }
   }
  /* static void Main(string[] args)
   {
   ValidateEmail MyTest=new ValidateEmail();
   MyTest.Email="zqm446@octopus.cdut.edu.cn";
   MyTest.Server="octopus.cdut.edu.cn";
   MyTest.Port=25; //默认端口是25
   Console.WriteLine(MyTest.Exists());
   }
  */ public bool Exists()
   {
   TcpClient tcpc = new TcpClient();
   tcpc.Connect(strServer,intPort);
   StreamReader sr1 = new StreamReader(tcpc.GetStream(),Encoding.Default);
   sr1.ReadLine();
  
   if(OperaStream(tcpc,"HELO "+strServer) != "250")
   {
   OperaStream(tcpc,"QUIT");
   return false;
   }
   if(OperaStream(tcpc,"MAIL FROM: my@my.com") != "250")
   {
   OperaStream(tcpc,"QUIT");
   return false;
   }
   if(OperaStream(tcpc,"RCPT TO: "+strEmail) != "250")
   {
   OperaStream(tcpc,"QUIT");
   return false;
   }
   else
   {
   OperaStream(tcpc,"QUIT");
   return true;
   }
   }
   static string OperaStream(TcpClient tcpc,string strCmd)
   {
   Stream TcpStream;
   strCmd = strCmd + "\r\n"; //加入换行符
   TcpStream = tcpc.GetStream();
   byte[] bWrite = Encoding.Default.GetBytes(strCmd.ToCharArray());
   TcpStream.Write(bWrite,0,bWrite.Length);
   StreamReader sr = new StreamReader(tcpc.GetStream(),Encoding.Default);
   string rl = sr.ReadLine();
   string sp = rl.Substring(0,3);
   return sp;
   }
   }
  }
  

上一个:Visual Studio.NET Tips 1-5
下一个:Microsoft .NET 中的基类继承

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,