如何验证Email地址的有效性?(200分)

  • 主题发起人 主题发起人 jackyzhao
  • 开始时间 开始时间
J

jackyzhao

Unregistered / Unconfirmed
GUEST, unregistred user!
比方说我有一个Email地址:username@aol.com,我知道aol的mx服务器是mailin-02.mx.aol.com,我怎么知道这个Email地址是不是有效的?
请各位高手多多帮忙,多谢啦!
 
如果你用ASP他里面有一个函数,具体在《ASP揭密》(北京希望)这本书里。
 
有支持正则表达式的控件,用正则表达式判断very easy
 
应该很难判断这个E-mail是否真的存在,首先要对这个E-mail解释看看这个E-mail
服务器是否真的存在,然后才可以看是否真的有这个用户.
如果要判断输入是否是一个E-mail地址就容易的多,判断有没有"@"和"."存在就行了
 
呵呵,看错了,原来是要判断email的有效性而不是email字符串的有效性
你的问题是不可能解决的,因为pop和smtp协议里没有这方面的内容。
除非是你知道了这个mail帐号的口令,利用登陆帐号来验证
 
发个NIL信过去 看是否返回。。。
不好意思 不懂装懂而已
SMTP协议编程
 
一个小聪明:可以像一些网站一样,注册先写email,
然后密码自动生成,回复到email中,那样的话email
肯定有效。程序也可以这么设计,不是吗?
 
感谢各位的发言,我要的是在程序中验证Email地址的有效性,不是用cgi,我知道NMSmtp有
一个Verify方法,是验证有效性的,但在做多线程老是出错(好像是buffer error),
有什么办法可以协调?
 
主要是看你的email有效性质到底要多高?是普通级别,就是@ .然后最后3个字母以内
全文不能包括a-z 0-9 . @以外的字符,如果高级一些的,可以通过host检查@符号后面的
DNS MX记录存在不存在,最高级别的就是验证@前面的用户是不是在DNS 指向的MX服务器上
是用户,具体实现我知道,但是要写出来怕麻烦~~如果你确有需要,请告诉我你需要什么级别
的..
 
hubdog
控件那里有
wordboy@163.net
 
你用OUtLook发一条E-mail看看,也不能验证的
 
To Albertxiao:
对不起,这几天没有来,我要最高级的,多谢啦

 
主要是两个东西:“@” 和后面有个点“.”!!
假如有这么两个东西,那也就算有效好了。。。
搞得简单一点就好了,,,检查有这么两个东西,位置准确就算了!!
 
to albertxiao:
我也提了一个问题,如何在程序中判断一个email地址的有效性。也是要最高级别的
,如果你知道答案,请发emai给我,或者到这里拿分。(100分)
http://www.delphibbs.com/delphibbs/dispq.asp?lid=520588
谢谢!
 
function IsEMail(EMail: String): Boolean;

var

s: String;

ETpos: Integer;

begin

ETpos:= pos('@'

EMail);

if ETpos > 1 then

begin

s:= copy(EMail

ETpos+1

Length(EMail));

if (pos('.'

s) > 1) and (pos('.'

s) < length(s)) then

Result:= true else Result:= false;

end

else

Result:= false;

end;


procedure TForm1.Button1Click(Sender: TObject);

begin

if isemail(Edit1.Text) then

begin

ShowMessage('eMail-Adresse!');

end;

end;
别忘记给我加分哦!
 
别忘记给我加分哦!
 
其实是可以直接从服务器取地址的。我就写了一个程序
不过暂时我只支持smtp服务器,
而esmtp服务器,因为要身份认真,我也开学了,没有时间测试,不过是一个样子,只是要一
个可以使用的用户罢了,而很多就是pop3的用户和密码,然后一般都是8bit进行编码
 
我用delphi写了一个邮件服务器,实现基本的收发,
现在smtp服务器的邮件转发还写不出来,各位大虾请帮忙,
现在的邮件服务器都加了smtp服务认证,如何能绕过认证,把邮件转发过去?
 
邮件为username@aol.com
连接上邮件服务器aol.com
使用以下指令:
MAIL FROM:<yourmail@mail.com>
RCPT TO:<username@aol.com>
如果REPLY CODE 为250,说明EMAIL有效
 
后退
顶部