Показать сообщение отдельно
  #1  
Старый 06.08.2011, 17:12
Аватар для Admin
Admin Admin вне форума
Администратор
 
Регистрация: 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;
Ответить с цитированием