скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Проверка правильности е-mail адреса с проверкой существования домена



{ **** 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;





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook