Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проверка правильности 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]

Рулезззз!


Наверх

Титульная страница Поиск, карта сайта Написать письмо