您的位置:程序门 -> java -> j2ee / ejb / jms



*******************用java业验证邮箱是否有效************


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


*******************用java业验证邮箱是否有效************[已结贴,结贴人:pinetreexia]
发表于:2007-04-03 14:16:26 楼主
请各大哥帮忙!!!!!!!!!!!
发表于:2007-04-03 14:27:361楼 得分:10
什么意思??
发表于:2007-04-03 15:17:532楼 得分:30
似乎邮件发出去就是覆水难收了,smtp协议似乎没有响应机制。。。
所以,鉴定邮箱是否有效,只能通过邮箱登录机制,而这显然是没用的
发表于:2007-04-04 08:15:153楼 得分:10
怎么个有效法???
是否符合格式?
正则表达式?
^([a-za-z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.) ¦(([a-za-z0-9\-]+\.)+))([a-za-z]{2,4} ¦[0-9]{1,3})(\]?)$    
还是说验证这个邮件是否为合法的用户?
发表于:2007-04-04 08:59:184楼 得分:5
不懂帮顶
发表于:2007-04-04 11:02:475楼 得分:40
1.   校验下邮箱字符串是否合法。
2。去链接这个邮箱的服务器。
通常例如aaa@21cn.com   他的smtp服务器应该就是smtp.21cn.com,但不敢确认。
还有非smtp协议的服务器。例如http的hotmail
通常使用socket链接服务器的25端口,
他返回的应该是220
之后你发helo   aaa@21cn.com\r\n
他返回的应该是250,如果不是250估计这个邮箱就是不存在了。

  protected   void   send_cmd   (string   cmd,string   oprnd){
    send_cmd(cmd+ "   "+oprnd);
    }
 
  protected   void   send_cmd(string   cmd){
    if(debug)
      system.out.println( "> > > "+cmd);
      os.print(cmd+ "\r\n ");
      }

  public   void   converse(string   sender,string   recipients,string     subject,string   body)   /*throw   smtpexception*/{
   
      if(!expect_reply( "220 "))   die(/*ex_protocol*/4, "did   not   get   smtp   greeting ");
   
      send_cmd( "helo ", "madass@163.net ");
      if(!expect_reply( "250 "))   die(/*ex_protocol*/4, "did   not   get   ack   our   helo ");
      send_cmd( "rset ");
      if(!expect_reply( "250 "))   die   (/*ex_protocol*/4, "not   reset ");
   
      send_cmd( "auth   login ");
      if(!expect_reply( "334 "))   die   (/*ex_protocol*/4, "not   reset ");
   
      send_cmd(enc.encode(user.getbytes()));
      if(!expect_reply( "334 "))   die   (/*ex_protocol*/4, "not   reset ");
   
    send_cmd(enc.encode(psw.getbytes()));
      if(!expect_reply( "334 "))   die   (/*ex_protocol*/4, "not   reset ");
发表于:2007-04-04 13:24:566楼 得分:5
写一个connect_testing   看下socket的api,我记得可以得到连接时间,如果得到就可以认为成功了...
发表于:2007-04-04 14:30:377楼 得分:0
怎么个有效法???
是否符合格式?
正则表达式?
^([a-za-z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.) ¦(([a-za-z0-9\-]+\.)+))([a-za-z]{2,4} ¦[0-9]{1,3})(\]?)$    
还是说验证这个邮件是否为合法的用户?

同意这个!!写js、
发表于:2007-04-04 15:32:298楼 得分:0
回答   zealvampire(白鹤泉)  
1)
怎么来确认他的邮件服务器的名字.
2)
怎样来helo   aaa@21cn.com\r\n
小弟没搞过.socket.请明示.
发表于:2007-04-06 22:12:379楼 得分:0
不明白


快速检索

最新资讯
热门点击