06.08.2011, 17:12
|
|
Администратор
|
|
Регистрация: 03.10.2005
Адрес: Россия, Москва
Сообщения: 1,564
Версия Delphi: Delphi 7
Репутация: выкл
|
|
Код - Проверка существования Email
Код:
uses WinSock;
function CheckDomain(Domain: string): Boolean;
var
Error: DWORD;
HostEntry: PHostEnt;
Data: WSAData;
Address: In_Addr;
begin
Result:=false;
Error:=WSAStartup(MakeWord(1, 1), Data);
if Error=0 then
begin
HostEntry:=GetHostByName(PChar(Domain));
Result:=GetLastError=0;
end;
WSACleanup();
end;
function CheckEmailAddr(Addr: string): Boolean;
var
p,i: integer;
User, Domain: string;
begin
Result:=false;
Addr:=AnsiLowerCase(Addr);
P:=Pos('@', Addr);
if P=0
then Exit;
User:=Copy(Addr,1,P-1);
Domain:=Copy(Addr, P+1, Length(Addr)-P);
for i:=1 to Length(User) do
if not (User[i] in ['a'..'z', '0'..'9', '.', '-', '_'])
then Exit;
Result:=CheckDomain('www.'+Domain);
if not Result
then Result:=CheckDomain(Domain);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if CheckEmailAddr(Edit1.Text)=true
then ShowMessage('E-mail существует!')
else ShowMessage('E-mail НЕ существует!');
end;
|