Delphi World - Проверка правильности е-mail адреса с проверкой существования домена
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Проверка правильности е-mail адреса с проверкой существования домена

Автор: Dimka Maslov
WEB-сайт: http://delphibase.endimus.com

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Проверка правильности е-mail адреса с проверкой существования домена

Функция проверяет как общий синтаксис написания адреса
(обязателен символ @, имя пользователя должно содержать
только разрешённые символы) а также и определяет,
существует ли домен, указанный в адресе. Функция
возвращает True, если адрес записан правильно и домен
существует, False в случае ошибки. Недостатком такой
функции является требование наличия соединения с
интернетом, а также замедление работы при указании
в адресе несуществующего домена.

Зависит от функции CheckDomain, приведённой здесь:
http://delphibase.endimus.ru?action=viewfunc&id=10258

Зависимости: SysUtils, WinSock, UBPFD.CheckDomain
Автор:       Dimka Maslov, mainbox@endimus.ru, ICQ:148442121, Санкт-Петербург
Copyright:   Dimka Maslov
Дата:        3 июля 2002 г.
***************************************************** }

function CheckEmailAddr(Addr: string): Boolean;
var
  P: Integer;
  User, Domain: string;
  i: Integer;
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;
Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования