![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проверка правильности e-mail [D1, D2, D3, D4, D5, D6, Win95/98, WinME, NT4, Win2k, WinXP]
[Static] © (2002-02-17 23:09:00)Почти все функции правильности проверки введённого e-mail"а обладают многими недостатками, и, соответственно, правильно не отвечают на вопрос: "Верно-ли введёно адреc e-mail?"
Поэтому выкладываю свой пример.
Function CheckEmail ( email : string ) : boolean;
Var
int_DogPos : integer;
int_DotPos : integer;
int_EmlLen : integer;
Begin
Result := False;
int_DogPos := Pos ( "@", email );
int_DotPos := Pos ( ".", email );
int_EmlLen := Length ( email );
if Pos ("@", Copy ( email,int_DogPos + 1, int_EmlLen - int_DotPos + 1 ) ) <> 0 then Exit;
if int_EmlLen < 5 then Exit;
if ( int_DogPos = 0 ) or
( int_DogPos = 1 ) or
( int_DogPos = int_EmlLen ) or
( int_DogPos = int_EmlLen - 1 ) or
( int_DogPos = int_EmlLen - 2 ) or
( int_DogPos = int_EmlLen - 3 ) then Exit;
if ( int_DotPos = 0 ) or
( int_DotPos = 1 ) or
( int_DotPos = int_EmlLen ) or
( int_DotPos = int_EmlLen - 1) or
( int_DotPos = int_EmlLen - 1 ) then Exit;
Result := true;
End;
Anatoly Podgoretsky (2002-02-26 23:30:00) [1]Существуют и бесплатные, например CheckEmail
Но это все мура, так как не существует гарантированного для этого метода.
Все определяется сервером, вот сейчас проверил свой сервер на заведомо неверный адрес, получил ответ от сервера - все ОК
Olgerd (2002-02-26 19:05:00) [2]на www.elcomsoft.com есть такая прога, правда она шароварная
Ghost. (2002-02-18 12:53:00) [3]>Olgerd © ОО тут штука посложнее..это нужно запрашиать DNS там есть такие записи MX вот к ним и нужно обращаться но как ставить правильно запрос я не знаю, и скока тут не спрашивал..никто ниче не сказал.. :0(
Olgerd (2002-02-18 12:43:00) [4]А как узнать, что e-mail действительно существует, т.е. доступен и на него можно послать письмо. Ведь я могу написать адрес 1@1.1
Anatoly Podgoretsky (2002-02-18 08:10:00) [5]Точно также не отвечает правильно, в части @ и . Одним словом Рулезззз!
German (2002-02-18 00:54:00) [6]Рулезззз!