用C#电子邮件验证的类

来源:网络整理 责任编辑:栏目编辑 发表时间:2013-07-02 03:38 点击:
     /*
   电子邮件验证
   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 + "rn"; //加入换行符
   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;
   }
   }
  }
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • 用C#制作屏幕捕获程序
    • .NET程序员项目开发必知必会—Dev环境中的集成测试用例执行时上
    • 遍历ArrayList易犯错误
    • C#对XML操作:一个处理XML文件的类(1)
    • .NET简谈反射(动态调用)
    • 使用C#编写LED样式时钟控件
    • DataList嵌套问题 如何删除内层子DataList的记录
    • 怎样用C#实现完整文档打印功能
    • .NET简谈自定义事务资源管理器
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1